--- parser3/src/classes/file.C 2020/12/15 17:10:28 1.274 +++ parser3/src/classes/file.C 2023/11/16 00:00:53 1.277 @@ -1,8 +1,8 @@ /** @file Parser: @b file parser class. - Copyright (c) 2001-2020 Art. Lebedev Studio (http://www.artlebedev.com) - Author: Alexandr Petrosian (http://paf.design.ru) + Copyright (c) 2001-2023 Art. Lebedev Studio (http://www.artlebedev.com) + Authors: Konstantin Morshnev , Alexandr Petrosian */ #include "pa_config_includes.h" @@ -26,7 +26,7 @@ #include "pa_vregex.h" #include "pa_version.h" -volatile const char * IDENT_FILE_C="$Id: file.C,v 1.274 2020/12/15 17:10:28 moko Exp $"; +volatile const char * IDENT_FILE_C="$Id: file.C,v 1.277 2023/11/16 00:00:53 moko Exp $"; // defines @@ -365,7 +365,7 @@ static void _create(Request& r, MethodPa String::Body body=content_str->cstr_to_string_body_untaint(String::L_AS_IS, r.connection(false), &r.charsets); // explode content, honor tainting changes self.set(true/*tainted*/, is_text, body.cstrm(), body.length(), file_name, vcontent_type, &r); } else { - VFile& fcontent=*vcontent.as_vfile(String::L_AS_IS); // can't be null + VFile& fcontent=*vcontent.as_vfile(); // can't be null if(mode){ self.set(fcontent, &is_text, file_name, vcontent_type, &r); if(is_text && !fcontent.is_text_mode()) @@ -1120,7 +1120,7 @@ static void _base64(Request& r, MethodPa } static void _crc32(Request& r, MethodParams& params) { - unsigned long crc32 = 0; + uint crc32 = 0; if(&r.get_self() == file_class) { // ^file:crc32[file-name] if(params.count()) { @@ -1134,7 +1134,7 @@ static void _crc32(Request& r, MethodPar VFile& self=GET_SELF(r, VFile); crc32=pa_crc32(self.value_ptr(), self.value_size()); } - r.write(*new VInt(crc32)); + r.write(*new VDouble(crc32)); }