--- parser3/src/classes/hashfile.C 2016/11/01 23:10:40 1.60 +++ parser3/src/classes/hashfile.C 2023/09/26 20:49:05 1.65 @@ -1,8 +1,8 @@ /** @file Parser: @b hashfile parser class. - Copyright (c) 2001-2015 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 "classes.h" @@ -12,7 +12,7 @@ #include "pa_vhashfile.h" #include "pa_vhash.h" -volatile const char * IDENT_HASHFILE_C="$Id: hashfile.C,v 1.60 2016/11/01 23:10:40 moko Exp $"; +volatile const char * IDENT_HASHFILE_C="$Id: hashfile.C,v 1.65 2023/09/26 20:49:05 moko Exp $"; // class @@ -42,7 +42,7 @@ static void _open(Request& r, MethodPara r.classes_conf.put(OPEN_DATA_NAME, file_list); } - const String& file_spec=r.absolute(params.as_string(0, FILE_NAME_MUST_BE_STRING)); + const String& file_spec=r.full_disk_path(params.as_string(0, FILE_NAME_MUST_BE_STRING)); if(file_list->get(file_spec)) throw Exception(PARSER_RUNTIME, 0, @@ -107,7 +107,7 @@ static bool one_foreach_cycle( } Value& sv_processed=info.r->process(*info.body_code); - Request::Skip lskip=info.r->get_skip(); info.r->set_skip(Request::SKIP_NOTHING); + TempSkip4Delimiter skip(*info.r); const String* s_processed=sv_processed.get_string(); if(info.delim_maybe_code && s_processed && !s_processed->is_empty()) { // delimiter set and we have body @@ -119,7 +119,7 @@ static bool one_foreach_cycle( info.r->write(sv_processed); - return lskip==Request::SKIP_BREAK; + return skip.check_break(); } static void _foreach(Request& r, MethodParams& params) { InCycle temp(r);