commit 478871b9ea3d3696df91b7a043c25b26e018acad
parent ee0d5d322c268ed47929910531052cb47db6d180
Author: ukai <ukai>
Date: Wed, 27 Nov 2002 16:35:18 +0000
[w3m-dev 03495] local CGI can't work
* local.c: #include "hash.h"
(set_environ): env string put in hash
From: Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
Diffstat:
2 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -1,5 +1,11 @@
2002-11-28 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
+ * [w3m-dev 03495] local CGI can't work
+ * local.c: #include "hash.h"
+ (set_environ): env string put in hash
+
+2002-11-28 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
+
* [w3m-dev 03494] Number of line is few when pager mode.
* display.c (redrawLine): buf->rootY
diff --git a/local.c b/local.c
@@ -14,6 +14,7 @@
#include <limits.h> /* _MAX_PATH ? */
#endif /* __EMX__ */
#include "local.h"
+#include "hash.h"
#define CGIFN_NORMAL 0
#define CGIFN_DROOT 1
@@ -214,7 +215,12 @@ set_environ(char *var, char *value)
setenv(var, value, 1);
#else /* not HAVE_SETENV */
#ifdef HAVE_PUTENV
+ static Hash_sv *env_hash = NULL;
Str tmp = Strnew_m_charp(var, "=", value, NULL);
+
+ if (env_hash == NULL)
+ env_hash = newHash_sv(20);
+ putHash_sv(env_hash, var, (void *)tmp->ptr);
putenv(tmp->ptr);
#else /* not HAVE_PUTENV */
extern char **environ;