Commit 76dd3105 authored by Sergey Lyubka's avatar Sergey Lyubka

Exporting SystemDrive environment variable for CGIs on Windows

parent b5ed7ed7
...@@ -513,6 +513,9 @@ static void sockaddr_to_string(char *buf, size_t len, ...@@ -513,6 +513,9 @@ static void sockaddr_to_string(char *buf, size_t len,
inet_ntop(usa->sa.sa_family, usa->sa.sa_family == AF_INET ? inet_ntop(usa->sa.sa_family, usa->sa.sa_family == AF_INET ?
(void *) &usa->sin.sin_addr : (void *) &usa->sin.sin_addr :
(void *) &usa->sin6.sin6_addr, buf, len); (void *) &usa->sin6.sin6_addr, buf, len);
#elif defined(_WIN32)
// Only Windoze Vista (and newer) have inet_ntop()
strncpy(buf, inet_ntoa(usa->sin.sin_addr), len);
#else #else
inet_ntop(usa->sa.sa_family, (void *) &usa->sin.sin_addr, buf, len); inet_ntop(usa->sa.sa_family, (void *) &usa->sin.sin_addr, buf, len);
#endif #endif
...@@ -2877,10 +2880,15 @@ static void prepare_cgi_environment(struct mg_connection *conn, ...@@ -2877,10 +2880,15 @@ static void prepare_cgi_environment(struct mg_connection *conn,
addenv(blk, "PATH=%s", s); addenv(blk, "PATH=%s", s);
#if defined(_WIN32) #if defined(_WIN32)
if ((s = getenv("COMSPEC")) != NULL) if ((s = getenv("COMSPEC")) != NULL) {
addenv(blk, "COMSPEC=%s", s); addenv(blk, "COMSPEC=%s", s);
if ((s = getenv("SYSTEMROOT")) != NULL) }
if ((s = getenv("SYSTEMROOT")) != NULL) {
addenv(blk, "SYSTEMROOT=%s", s); addenv(blk, "SYSTEMROOT=%s", s);
}
if ((s = getenv("SystemDrive")) != NULL) {
addenv(blk, "SystemDrive=%s", s);
}
#else #else
if ((s = getenv("LD_LIBRARY_PATH")) != NULL) if ((s = getenv("LD_LIBRARY_PATH")) != NULL)
addenv(blk, "LD_LIBRARY_PATH=%s", s); addenv(blk, "LD_LIBRARY_PATH=%s", s);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment