--- parser3/src/targets/cgi/parser3.C 2004/11/09 11:34:06 1.233 +++ parser3/src/targets/cgi/parser3.C 2006/04/09 13:38:47 1.239 @@ -1,11 +1,11 @@ /** @file Parser: scripting and CGI main. - Copyright(c) 2001-2004 ArtLebedev Group (http://www.artlebedev.com) + Copyright(c) 2001-2005 ArtLebedev Group (http://www.artlebedev.com) Author: Alexandr Petrosian (http://paf.design.ru) */ -static const char * const IDENT_PARSER3_C="$Date: 2004/11/09 11:34:06 $"; +static const char * const IDENT_PARSER3_C="$Date: 2006/04/09 13:38:47 $"; #include "pa_config_includes.h" @@ -30,7 +30,7 @@ static const char * const IDENT_PARSER3_ // defines // comment remove me after debugging -#define PA_DEBUG_CGI_ENTRY_EXIT "c:\\parser3.log" +//#define PA_DEBUG_CGI_ENTRY_EXIT "c:\\parser\\debug-parser3.log" #if _MSC_VER && !defined(_DEBUG) # define PA_SUPPRESS_SYSTEM_EXCEPTION @@ -107,7 +107,7 @@ static void log(const char* fmt, va_list if(const char* stamp=ctime(&t)) { // never saw that if(size_t len=strlen(stamp)) // saw once stamp being ="" fprintf(f, "[%.*s] [%u] ", len-1, stamp, - getpid() + (unsigned int)getpid() ); } // message @@ -115,22 +115,32 @@ static void log(const char* fmt, va_list char buf[MAX_STRING]; size_t size=vsnprintf(buf, MAX_STRING, fmt, args); remove_crlf(buf, buf+size); - fwrite(buf, size, 1, f); + + if(request_info) + fprintf(f, " [uri=%s, method=%s, cl=%u]", + request_info->uri? request_info->uri: "", + request_info->method? request_info->method: "", + request_info->content_length); + else + fputs(" [no request info]", f); + // newline - fprintf(f, "\n"); + fputs("\n", f); if(opened) fclose(f); else fflush(f); } +#ifdef PA_DEBUG_CGI_ENTRY_EXIT static void log(const char* fmt, ...) { va_list args; va_start(args,fmt); log(fmt, args); va_end(args); } +#endif // appends to parser3.log located beside my binary if openable, to stderr otherwize void SAPI::log(SAPI_Info&, const char* fmt, ...) { @@ -187,14 +197,14 @@ void SAPI::die(const char* fmt, ...) { va_list args; va_start(args, fmt); die_or_abort(fmt, args, false/*write core?*/); - va_end(args); +//unreachable anyway va_end(args); } void SAPI::abort(const char* fmt, ...) { va_list args; va_start(args, fmt); die_or_abort(fmt, args, true/*write core?*/); - va_end(args); +//unreachable anyway va_end(args); } char* SAPI::get_env(SAPI_Info& , const char* name) { @@ -577,7 +587,8 @@ static void call_real_parser_handler__su static void usage(const char* program) { printf( - "Parser/%s Copyright(c) 2001-2004 ArtLebedev Group (http://www.artlebedev.com)\n" + "Parser/%s\n" + "Copyright(c) 2001-2005 ArtLebedev Group (http://www.artlebedev.com)\n" "Author: Alexandr Petrosian (http://paf.design.ru)\n" "\n" "Usage: %s [options] file\n"