--- parser3/src/targets/isapi/parser3isapi.C 2002/06/11 14:14:16 1.73 +++ parser3/src/targets/isapi/parser3isapi.C 2002/08/01 11:41:21 1.78 @@ -3,10 +3,10 @@ Copyright (c) 2000,2001, 2002 ArtLebedev Group (http://www.artlebedev.com) Author: Alexandr Petrosian (http://paf.design.ru) - - $Id: parser3isapi.C,v 1.73 2002/06/11 14:14:16 paf Exp $ */ +static const char* IDENT_PARSER3ISAPI_C="$Date: 2002/08/01 11:41:21 $"; + #ifndef _MSC_VER # error compile ISAPI module with MSVC [no urge for now to make it autoconf-ed (PAF)] #endif @@ -30,26 +30,6 @@ // consts -extern const char *main_RCSIds[]; -#ifdef USE_SMTP -extern const char *smtp_RCSIds[]; -#endif -extern const char *gd_RCSIds[]; -extern const char *classes_RCSIds[]; -extern const char *types_RCSIds[]; -extern const char *parser3isapi_RCSIds[]; -const char **RCSIds[]={ - main_RCSIds, -#ifdef USE_SMTP - smtp_RCSIds, -#endif - gd_RCSIds, - classes_RCSIds, - types_RCSIds, - parser3isapi_RCSIds, - 0 -}; - const char *IIS51vars[]={ "APPL_MD_PATH", "APPL_PHYSICAL_PATH", "AUTH_PASSWORD", "AUTH_TYPE", "AUTH_USER", @@ -376,7 +356,7 @@ void real_parser_handler(Pool& pool, LPE request_info.content_type=lpECB->lpszContentType; request_info.content_length=lpECB->cbTotalBytes; request_info.cookie=SAPI::get_env(pool, "HTTP_COOKIE"); - + request_info.mail_received=false; // prepare to process request Request request(pool, @@ -389,35 +369,23 @@ void real_parser_handler(Pool& pool, LPE #endif /* status_allowed */); - // some root-controlled location - // c:\windows - char root_config_path[MAX_STRING]; - GetWindowsDirectory(root_config_path, MAX_STRING); - // must be dynamic: rethrowing from request.core - // may return 'source' which can be inside of 'root auto.p@exeception' - char *root_config_filespec=(char *)pool.malloc(MAX_STRING); - snprintf(root_config_filespec, MAX_STRING, - "%s/%s", - root_config_path, CONFIG_FILE_NAME); - // beside by binary - static char site_config_path[MAX_STRING]; - strncpy(site_config_path, argv0, MAX_STRING-1); site_config_path[MAX_STRING-1]=0; // filespec of my binary + static char beside_binary_path[MAX_STRING]; + strncpy(beside_binary_path, argv0, MAX_STRING-1); beside_binary_path[MAX_STRING-1]=0; // filespec of my binary if(!( - rsplit(site_config_path, '/') || - rsplit(site_config_path, '\\'))) { // strip filename + rsplit(beside_binary_path, '/') || + rsplit(beside_binary_path, '\\'))) { // strip filename // no path, just filename - site_config_path[0]='.'; site_config_path[1]=0; + beside_binary_path[0]='.'; beside_binary_path[1]=0; } - char site_config_filespec[MAX_STRING]; - snprintf(site_config_filespec, MAX_STRING, + char config_filespec[MAX_STRING]; + snprintf(config_filespec, MAX_STRING, "%s/%s", - site_config_path, CONFIG_FILE_NAME); + beside_binary_path, AUTO_FILE_NAME); // process the request request.core( - root_config_filespec, false /*fail_on_read_problem*/, // /path/to/root/parser3.conf - site_config_filespec, false /*fail_on_read_problem*/, // /path/to/site/parser3.conf + config_filespec, false /*fail_on_read_problem*/, // /path/to/first/auto.p header_only); }