--- parser3/src/classes/file.C 2007/08/20 10:02:51 1.159 +++ parser3/src/classes/file.C 2007/11/14 09:45:21 1.161 @@ -5,7 +5,7 @@ Author: Alexandr Petrosian (http://paf.design.ru) */ -static const char * const IDENT_FILE_C="$Date: 2007/08/20 10:02:51 $"; +static const char * const IDENT_FILE_C="$Date: 2007/11/14 09:45:21 $"; #include "pa_config_includes.h" @@ -114,6 +114,10 @@ static const String::Body cdate_name("cd // methods +static bool is_valid_mode (const String& mode) { + return (mode==TEXT_MODE_NAME || mode==BINARY_MODE_NAME); +} + static bool is_text_mode(const String& mode) { if(mode==TEXT_MODE_NAME) return true; @@ -125,7 +129,7 @@ static bool is_text_mode(const String& m } static void _save(Request& r, MethodParams& params) { - Value& vmode_name=params. as_no_junction(0, "mode must not be code"); + Value& vmode_name=params.as_no_junction(0, MODE_MUST_NOT_BE_CODE); Value& vfile_name=params.as_no_junction(1, FILE_NAME_MUST_NOT_BE_CODE); // save @@ -196,7 +200,7 @@ static void _load_pass_param( dest->put(key, value); } static void _load(Request& r, MethodParams& params) { - Value& vmode_name=params. as_no_junction(0, "mode must not be code"); + Value& vmode_name=params.as_no_junction(0, MODE_MUST_NOT_BE_CODE); const String& lfile_name=r.absolute(params.as_no_junction(1, FILE_NAME_MUST_NOT_BE_CODE).as_string()); Value* third_param=params.count()>2?¶ms.as_no_junction(2, "filename or options must not be code") :0; @@ -243,7 +247,7 @@ static void _load(Request& r, MethodPara } static void _create(Request& r, MethodParams& params) { - Value& vmode_name=params. as_no_junction(0, "mode must not be code"); + Value& vmode_name=params.as_no_junction(0, MODE_MUST_NOT_BE_CODE); if(!is_text_mode(vmode_name.as_string())) throw Exception(PARSER_RUNTIME, 0, @@ -432,7 +436,7 @@ static void _exec_cgi(Request& r, Method Temp_client_charset temp(r.charsets, charset? *charset: r.charsets.source()); for(size_t i=2; i1) if(HashStringValue* options= - params.as_no_junction(1, "param must not be code").get_hash()) { + params.as_no_junction(1, PARAM_MUST_NOT_BE_CODE).get_hash()) { int valid_options=0; if(Value* vfilename=options->get(NAME_NAME)) { valid_options++; @@ -865,7 +869,7 @@ static void _base64(Request& r, MethodPa VFile& self=GET_SELF(r, VFile); if(params.count()) { // decode - const char* cstr=params.as_string(0, "parameter must be string").cstr(); + const char* cstr=params.as_string(0, PARAMETER_MUST_BE_STRING).cstr(); char* decoded_cstr=0; size_t decoded_size=0; pa_base64_decode(cstr, strlen(cstr), decoded_cstr, decoded_size);