|
|
| version 1.82.2.6.2.4, 2003/03/21 13:42:32 | version 1.82.2.6.2.6, 2003/04/08 13:58:30 |
|---|---|
| Line 107 void SAPI::abort(const char* fmt, ...) { | Line 107 void SAPI::abort(const char* fmt, ...) { |
| const char* SAPI::get_envconst char* name) { | const char* SAPI::get_envconst char* name) { |
| SAPI_func_context& ctx=*static_cast<SAPI_func_context *>(pool.get_context()); | SAPI_func_context& ctx=*static_cast<SAPI_func_context *>(pool.get_context()); |
| char *variable_buf=new(PointerFreeGC) char[MAX_STRING]; | |
| char *variable_buf=new char[MAX_STRING]; | |
| DWORD variable_len = MAX_STRING-1; | DWORD variable_len = MAX_STRING-1; |
| if(ctx.lpECB->GetServerVariable(ctx.lpECB->ConnID, const_cast<char *>(name), | if(ctx.lpECB->GetServerVariable(ctx.lpECB->ConnID, const_cast<char *>(name), |
| Line 118 const char* SAPI::get_envconst char* nam | Line 117 const char* SAPI::get_envconst char* nam |
| return variable_buf; | return variable_buf; |
| } | } |
| } else if (GetLastError()==ERROR_INSUFFICIENT_BUFFER) { | } else if (GetLastError()==ERROR_INSUFFICIENT_BUFFER) { |
| variable_buf=new char[variable_len+1]; | variable_buf=new(PointerFreeGC) char[variable_len+1]; |
| if(ctx.lpECB->GetServerVariable(ctx.lpECB->ConnID, const_cast<char *>(name), | if(ctx.lpECB->GetServerVariable(ctx.lpECB->ConnID, const_cast<char *>(name), |
| variable_buf, &variable_len)) { | variable_buf, &variable_len)) { |
| Line 143 static int grep_char(const char* s, char | Line 142 static int grep_char(const char* s, char |
| return result; | return result; |
| } | } |
| static const char* mk_env_pairconst char* key, const char* value) { | static const char* mk_env_pairconst char* key, const char* value) { |
| char *result=new char[strlen(key)+1/*=*/+strlen(value)+1/*0*/]; | char *result=new(PointerFreeGC) char[strlen(key)+1/*=*/+strlen(value)+1/*0*/]; |
| strcpy(result, key); strcat(result, "="); strcat(result, value); | strcpy(result, key); strcat(result, "="); strcat(result, value); |
| return result; | return result; |
| } | } |
| Line 313 BOOL WINAPI GetExtensionVersion(HSE_VERS | Line 312 BOOL WINAPI GetExtensionVersion(HSE_VERS |
| */ | */ |
| void real_parser_handlerLPEXTENSION_CONTROL_BLOCK lpECB, bool header_only) { | void real_parser_handlerLPEXTENSION_CONTROL_BLOCK lpECB, bool header_only) { |
| static_cast<SAPI_func_context *>(pool.get_context())->header=new String(); | static_cast<SAPI_func_context *>(pool.get_context())->header=new String; |
| // Request info | // Request info |
| Request::Info request_info; | Request::Info request_info; |
| Line 327 void real_parser_handlerLPEXTENSION_CONT | Line 326 void real_parser_handlerLPEXTENSION_CONT |
| if(const char* path_info=SAPI::get_env("PATH_INFO")) { | if(const char* path_info=SAPI::get_env("PATH_INFO")) { |
| // IIS | // IIS |
| size_t len=strlen(filespec_to_process)-strlen(path_info); | size_t len=strlen(filespec_to_process)-strlen(path_info); |
| char *buf=new char[len+1]; | char *buf=new(PointerFreeGC) char[len+1]; |
| strncpy(buf, filespec_to_process, len); buf[len]=0; | strncpy(buf, filespec_to_process, len); buf[len]=0; |
| request_info.document_root=buf; | request_info.document_root=buf; |
| } else | } else |
| Line 339 void real_parser_handlerLPEXTENSION_CONT | Line 338 void real_parser_handlerLPEXTENSION_CONT |
| request_info.method=lpECB->lpszMethod; | request_info.method=lpECB->lpszMethod; |
| request_info.query_string=lpECB->lpszQueryString; | request_info.query_string=lpECB->lpszQueryString; |
| if(lpECB->lpszQueryString && *lpECB->lpszQueryString) { | if(lpECB->lpszQueryString && *lpECB->lpszQueryString) { |
| char *reconstructed_uri=new char[ | char *reconstructed_uri=new(PointerFreeGC) char[ |
| strlen(lpECB->lpszPathInfo)+1/*'?'*/+ | strlen(lpECB->lpszPathInfo)+1/*'?'*/+ |
| strlen(lpECB->lpszQueryString)+1/*0*/]; | strlen(lpECB->lpszQueryString)+1/*0*/]; |
| strcpy(reconstructed_uri, lpECB->lpszPathInfo); | strcpy(reconstructed_uri, lpECB->lpszPathInfo); |