--- parser3/src/main/pa_request.C 2003/04/11 08:45:51 1.245.2.37.2.31 +++ parser3/src/main/pa_request.C 2003/04/21 06:17:48 1.245.2.37.2.33 @@ -5,7 +5,7 @@ Author: Alexandr Petrosian (http://paf.design.ru) */ -static const char* IDENT_REQUEST_C="$Date: 2003/04/11 08:45:51 $"; +static const char* IDENT_REQUEST_C="$Date: 2003/04/21 06:17:48 $"; #include "pa_sapi.h" #include "pa_common.h" @@ -615,9 +615,16 @@ const String& Request::absolute(const St result << relative_name; return result; } else - return relative_name.pos("://")==STRING_NOT_FOUND? - relative(request_info.path_translated, relative_name) - :relative_name; // something like "http://xxx" + if(relative_name.pos("://")!=STRING_NOT_FOUND // something like "http://xxx" +#ifdef WIN32 + || relative_name.pos(":")==1 // DRIVE: + || relative_name.starts_with("\\\\") // UNC1 + || relative_name.starts_with("//") // UNC2 +#endif + ) + return relative_name; + else + return relative(request_info.path_translated, relative_name); } static void add_header_attribute( @@ -690,7 +697,8 @@ const String& Request::mime_type_of(cons if(mime_types) if(const char* cext=strrchr(user_file_name_cstr, '.')) { String sext(++cext); - if(mime_types->locate(0, sext.change_case(charsets.source(), String::CC_LOWER))) + Table::Action_options options; + if(mime_types->locate(0, sext.change_case(charsets.source(), String::CC_LOWER), options)) if(const String* result=mime_types->item(1)) return *result; else