--- parser3/src/targets/cgi/parser3.C 2002/04/15 06:46:01 1.170 +++ parser3/src/targets/cgi/parser3.C 2002/04/29 05:59:34 1.176 @@ -4,7 +4,7 @@ Copyright(c) 2001, 2002 ArtLebedev Group (http://www.artlebedev.com) Author: Alexandr Petrosian (http://paf.design.ru) - $Id: parser3.C,v 1.170 2002/04/15 06:46:01 paf Exp $ + $Id: parser3.C,v 1.176 2002/04/29 05:59:34 paf Exp $ */ #include "pa_config_includes.h" @@ -41,6 +41,7 @@ extern ulong // consts +#ifndef _PROFILE extern const char *main_RCSIds[]; #ifdef USE_SMTP extern const char *smtp_RCSIds[]; @@ -60,9 +61,11 @@ const char **RCSIds[]={ parser3_RCSIds, 0 }; +#endif -const char *PARSER_ROOT_CONFIG_ENV_NAME="HTTP_PARSER_ROOT_CONFIG"; -const char *PARSER_SITE_CONFIG_ENV_NAME="HTTP_PARSER_SITE_CONFIG"; +#define REDIRECT_PREFIX "REDIRECT_" +#define PARSER_ROOT_CONFIG_ENV_NAME "HTTP_PARSER_ROOT_CONFIG" +#define PARSER_SITE_CONFIG_ENV_NAME "HTTP_PARSER_SITE_CONFIG" /// IIS refuses to read bigger chunks const size_t READ_POST_CHUNK_SIZE=0x400*0x400; // 1M @@ -92,8 +95,10 @@ static void log(const char *fmt, va_list // prefix time_t t=time(0); - const char *stamp=ctime(&t); - fprintf(f, "[%.*s] ", strlen(stamp)-1, stamp); + if(const char *stamp=ctime(&t)) { // never saw that + if(size_t len=strlen(stamp)) // saw once stamp being ="" + fprintf(f, "[%.*s] ", len-1, stamp); + } // message char buf[MAX_STRING]; @@ -312,7 +317,10 @@ void real_parser_handler( // some root-controlled location const char *root_config_filespec_cstr; char root_config_filespec_buf[MAX_STRING]; - if(const char *root_config_by_env=getenv(PARSER_ROOT_CONFIG_ENV_NAME)) + const char *root_config_by_env=getenv(PARSER_ROOT_CONFIG_ENV_NAME); + if(!root_config_by_env) + root_config_by_env=getenv(REDIRECT_PREFIX PARSER_ROOT_CONFIG_ENV_NAME); + if(root_config_by_env) root_config_filespec_cstr=root_config_by_env; else { #ifdef ROOT_CONFIG_DIR @@ -337,7 +345,10 @@ void real_parser_handler( const char *site_config_filespec_cstr; char site_config_filespec_buf[MAX_STRING]; - if(const char *site_config_by_env=getenv(PARSER_SITE_CONFIG_ENV_NAME)) + const char *site_config_by_env=getenv(PARSER_SITE_CONFIG_ENV_NAME); + if(!site_config_by_env) + site_config_by_env=getenv(REDIRECT_PREFIX PARSER_SITE_CONFIG_ENV_NAME); + if(site_config_by_env) site_config_filespec_cstr=site_config_by_env; else { // beside by binary