When using modules that call ap_add_common_vars, like mod_include or
mod_cgi,
the function http2env gets called a lot. This patch cuts the function's
work
roughly in half.
--Brian
Index: server/util_script.c
===================================================================
RCS file: /home/cvspublic/httpd-2.0/server/util_script.c,v
retrieving revision 1.64
diff -u -r1.64 util_script.c
--- server/util_script.c 2001/09/24 21:09:06 1.64
+++ server/util_script.c 2001/11/10 06:02:13
@@ -95,19 +95,26 @@
#define MALFORMED_MESSAGE "malformed header from script. Bad header="
#define MALFORMED_HEADER_LENGTH_TO_SHOW 30
-static char *http2env(apr_pool_t *a, char *w)
+static char *http2env(apr_pool_t *a, const char *w)
{
- char *res = apr_pstrcat(a, "HTTP_", w, NULL);
+ char *res = (char *)apr_palloc(a, 6 + strlen(w));
char *cp = res;
+ char c;
+ *cp++ = 'H';
+ *cp++ = 'T';
+ *cp++ = 'T';
+ *cp++ = 'P';
+ *cp++ = '_';
- while (*++cp) {
- if (!apr_isalnum(*cp) && *cp != '_') {
- *cp = '_';
+ while ((c = *w++) != 0) {
+ if (!apr_isalnum(c)) {
+ *cp++ = '_';
}
else {
- *cp = apr_toupper(*cp);
+ *cp++ = apr_toupper(c);
}
}
+ *cp = 0;
return res;
}