From: Jeff Trawick Date: Sun, 4 Jun 2000 19:46:22 +0000 (+0000) Subject: mod_cgid: X-Git-Tag: APACHE_2_0_ALPHA_4~5 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=fefab2bc49d4fac489b0961d461496fb833234b3;p=thirdparty%2Fapache%2Fhttpd.git mod_cgid: 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 --- diff --git a/modules/generators/mod_cgid.c b/modules/generators/mod_cgid.c index e45c89a5b2d..e73ab3ebf15 100644 --- a/modules/generators/mod_cgid.c +++ b/modules/generators/mod_cgid.c @@ -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;