]> granicus.if.org Git - apache/commitdiff
mod_cgid:
authorJeff Trawick <trawick@apache.org>
Sun, 4 Jun 2000 19:46:22 +0000 (19:46 +0000)
committerJeff Trawick <trawick@apache.org>
Sun, 4 Jun 2000 19:46:22 +0000 (19:46 +0000)
fix parmlist to ap_open() so that we can open the ScriptLog file o.k.

in log_script(), don't do anything with script_err parm if it is NULL
(for mod_cgid, it is always NULL; rather than simply ripping out such
logic I kept it in case somebody wants to factor out common parts of
mod_cgi.c and mod_cgid.c later)

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85405 13f79535-47bb-0310-9956-ffa450edef68

modules/generators/mod_cgid.c

index e45c89a5b2d033ecc046a98b2b886177735c985f..e73ab3ebf15794aca62ff3dffc13151a641ce731 100644 (file)
@@ -681,7 +681,7 @@ static int log_scripterror(request_rec *r, cgid_server_conf * conf, int ret,
         ((stat(ap_server_root_relative(r->pool, conf->logname), &finfo) == 0) 
          && (finfo.st_size > conf->logbytes)) || 
          (ap_open(&f, ap_server_root_relative(r->pool, conf->logname),
-                      APR_APPEND, APR_OS_DEFAULT, r->pool) != APR_SUCCESS)) { 
+                  APR_APPEND|APR_WRITE|APR_CREATE, APR_OS_DEFAULT, r->pool) != APR_SUCCESS)) { 
         return ret; 
     } 
 
@@ -713,12 +713,14 @@ static int log_script(request_rec *r, cgid_server_conf * conf, int ret,
         ((stat(ap_server_root_relative(r->pool, conf->logname), &finfo) == 0) 
          && (finfo.st_size > conf->logbytes)) || 
          (ap_open(&f, ap_server_root_relative(r->pool, conf->logname), 
-                  APR_APPEND, APR_OS_DEFAULT, r->pool) != APR_SUCCESS)) { 
+                  APR_APPEND|APR_WRITE|APR_CREATE, APR_OS_DEFAULT, r->pool) != APR_SUCCESS)) { 
         /* Soak up script output */ 
         while (ap_bgets(argsbuffer, HUGE_STRING_LEN, script_in) > 0) 
             continue; 
-        while (ap_bgets(argsbuffer, HUGE_STRING_LEN, script_err) > 0) 
-            continue; 
+        if (script_err) {
+            while (ap_bgets(argsbuffer, HUGE_STRING_LEN, script_err) > 0) 
+                continue; 
+        }
         return ret; 
     } 
 
@@ -761,16 +763,20 @@ static int log_script(request_rec *r, cgid_server_conf * conf, int ret,
         ap_puts("\n", f); 
     } 
 
-    if (ap_bgets(argsbuffer, HUGE_STRING_LEN, script_err) > 0) { 
-        ap_puts("%stderr\n", f); 
-        ap_puts(argsbuffer, f); 
-        while (ap_bgets(argsbuffer, HUGE_STRING_LEN, script_err) > 0) 
+    if (script_err) {
+        if (ap_bgets(argsbuffer, HUGE_STRING_LEN, script_err) > 0) { 
+            ap_puts("%stderr\n", f); 
             ap_puts(argsbuffer, f); 
-        ap_puts("\n", f); 
-    } 
+            while (ap_bgets(argsbuffer, HUGE_STRING_LEN, script_err) > 0) 
+                ap_puts(argsbuffer, f); 
+            ap_puts("\n", f); 
+        } 
+    }
 
     ap_bclose(script_in); 
-    ap_bclose(script_err); 
+    if (script_err) {
+        ap_bclose(script_err); 
+    }
 
     ap_close(f); 
     return ret;