From: KIMURA Koichi Date: 1999-08-08T20:36:19+09:00 Subject: [ruby-dev:7567] [PATCH] for ruby-1.3.7 (mswin32) 木村です。 例の自分で設定した環境変数を参照できないというバグに対処しました。 ほとんどPerlのそのまんまです。レジストリも見に行くというのは取っ てしまいましたが、残したほうが良かった? --- win32.c.orig Sat Jun 19 03:41:12 1999 +++ win32.c Sun Aug 08 19:34:40 1999 @@ -2318,2 +2318,27 @@ } +char * +win32_getenv(const char *name) +{ + static char *curitem = NULL; /* XXX threadead */ + static DWORD curlen = 0; /* XXX threadead */ + DWORD needlen; + if (!curitem) { + curlen = 512; + curitem = ALLOC_N(char, curlen); + } + + needlen = GetEnvironmentVariable(name,curitem,curlen); + if (needlen != 0) { + while (needlen > curlen) { + REALLOC_N(curitem, char, needlen); + curlen = needlen; + needlen = GetEnvironmentVariable(name, curitem, curlen); + } + } + else { + return NULL; + } + + return curitem; +} --- win32.h.orig Sun Aug 08 19:34:28 1999 +++ win32.h Sun Aug 08 19:36:16 1999 @@ -199,4 +199,5 @@ extern struct servent * mygetservbyname(char *, char *); extern struct servent * mygetservbyport(int, char *); +extern char *win32_getenv(const char *); extern int chown(const char *, int, int); -- 木村浩一 May the source be with you. mail: kbk@kt.rim.or.jp web-page: http://www.kt.rim.or.jp/~kbk/