|
@@ -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 ?
|
|
|
(void *) &usa->sin.sin_addr :
|
|
|
(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
|
|
|
inet_ntop(usa->sa.sa_family, (void *) &usa->sin.sin_addr, buf, len);
|
|
|
#endif
|
|
@@ -2877,10 +2880,15 @@ static void prepare_cgi_environment(struct mg_connection *conn,
|
|
|
addenv(blk, "PATH=%s", s);
|
|
|
|
|
|
#if defined(_WIN32)
|
|
|
- if ((s = getenv("COMSPEC")) != NULL)
|
|
|
+ if ((s = getenv("COMSPEC")) != NULL) {
|
|
|
addenv(blk, "COMSPEC=%s", s);
|
|
|
- if ((s = getenv("SYSTEMROOT")) != NULL)
|
|
|
+ }
|
|
|
+ if ((s = getenv("SYSTEMROOT")) != NULL) {
|
|
|
addenv(blk, "SYSTEMROOT=%s", s);
|
|
|
+ }
|
|
|
+ if ((s = getenv("SystemDrive")) != NULL) {
|
|
|
+ addenv(blk, "SystemDrive=%s", s);
|
|
|
+ }
|
|
|
#else
|
|
|
if ((s = getenv("LD_LIBRARY_PATH")) != NULL)
|
|
|
addenv(blk, "LD_LIBRARY_PATH=%s", s);
|