前田です。
全然Ruby固有の問題についての質問ではないです。すみません。

今、mod_rubyで、

static void mr_clearenv()
{
    if (environ == origenviron) {
	environ = ALLOC_N(char*, 1);
    }
    else {
	char **p;

	for (p = environ; *p; p++) free(*p);
	REALLOC_N(environ, char*, 1);
    }
    *environ = NULL;
}

のようにしているのですが、これっておそらくWindowsだとまずいのですよね?
Windowsでも動くようにするにはどうするのがよいのでしょう。
# ここを直したからといってWindowsでちゃんと動くかというと自信がない
# のですが(^_^;

ところで、ruby_setenvでALLOC_Nを使ってアロケートされている文字列が
ruby_unsetenvやenv_deleteでfreeされないのが気になるのですが、これは
大丈夫なのでしょうか?

-- 
前田 修吾