projects
/
egate.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Handles method GET.
[egate.git]
/
www
/
wcgi.c
diff --git
a/www/wcgi.c
b/www/wcgi.c
index
a94c5ff
..
722d109
100644
(file)
--- a/
www/wcgi.c
+++ b/
www/wcgi.c
@@
-41,7
+41,10
@@
* USE OR PERFORMANCE OF THIS SOFTWARE.
*
* $Log: wcgi.c,v $
* USE OR PERFORMANCE OF THIS SOFTWARE.
*
* $Log: wcgi.c,v $
- * Revision 1.10 1996/01/05 16:21:20 adam
+ * Revision 1.11 1996/01/08 08:42:19 adam
+ * Handles method GET.
+ *
+ * Revision 1.10 1996/01/05 16:21:20 adam
* Bug fix: shell (wproto) sometimes closed server FIFO before cgi
* program opened it - solution: cgi sends OK when response has been read.
*
* Bug fix: shell (wproto) sometimes closed server FIFO before cgi
* program opened it - solution: cgi sends OK when response has been read.
*
@@
-142,6
+145,17
@@
static int spawn (char *sprog, int id)
}
}
}
}
+#if 0
+static void print_environ (void)
+{
+ extern char **environ;
+ int i;
+
+ for (i = 0; environ[i]; i++)
+ gw_log (GW_LOG_DEBUG, prog, "e: %s", environ[i]);
+}
+#endif
+
/*
* NOTE: In the (perhaps odd) terminology used within this software,
* the 'server' is the present program, which is executed by the httpd
/*
* NOTE: In the (perhaps odd) terminology used within this software,
* the 'server' is the present program, which is executed by the httpd
@@
-271,6
+285,7
@@
int main()
strcpy(p, serverp);
p += strlen(p) + 1;
strcpy(p, path_info);
strcpy(p, serverp);
p += strlen(p) + 1;
strcpy(p, path_info);
+ gw_log (GW_LOG_DEBUG, prog, "P:%s", p);
p += strlen(p) + 1;
*(p++) = '\0'; /* no envvars tranferred at present */
if ((t = getenv("CONTENT_LENGTH")) && (data = atoi(t)) > 0)
p += strlen(p) + 1;
*(p++) = '\0'; /* no envvars tranferred at present */
if ((t = getenv("CONTENT_LENGTH")) && (data = atoi(t)) > 0)
@@
-293,8
+308,14
@@
int main()
i += j;
}
}
i += j;
}
}
- p += data;
- *(p++) = '\0';
+ else if ((t = getenv("QUERY_STRING")))
+ {
+ strcpy (p, t);
+ data = strlen(p);
+ }
+ p[data] = '\0';
+ gw_log (GW_LOG_DEBUG, prog, "C:%s", p);
+ p += data+1;
data = (p - combuf);
memcpy(combuf, &data, sizeof(data));
gw_log (GW_LOG_DEBUG, prog, "Writing data");
data = (p - combuf);
memcpy(combuf, &data, sizeof(data));
gw_log (GW_LOG_DEBUG, prog, "Writing data");