--- parser3/src/classes/file.C 2002/02/08 07:27:40 1.71 +++ parser3/src/classes/file.C 2002/04/15 11:34:24 1.76 @@ -2,9 +2,9 @@ Parser: @b file parser class. Copyright (c) 2001, 2002 ArtLebedev Group (http://www.artlebedev.com) - Author: Alexander Petrosyan (http://paf.design.ru) + Author: Alexandr Petrosian (http://paf.design.ru) - $Id: file.C,v 1.71 2002/02/08 07:27:40 paf Exp $ + $Id: file.C,v 1.76 2002/04/15 11:34:24 paf Exp $ */ #include "pa_config_includes.h" @@ -85,18 +85,18 @@ static void _find(Request& r, const Stri // passed file name simply exists in current dir if(file_readable(r.absolute(lfile_name))) { - r.write_no_lang(*new(pool) VString(lfile_name)); + r.write_no_lang(lfile_name); return; } // scan .. dirs for result for(int i=0; isize()==2) { Value& not_found_code=params->as_junction(1, "not-found param must be code"); - r.write_pass_lang(r.process(not_found_code)); + r.write_pass_lang(r.process_to_value(not_found_code)); } } @@ -236,7 +236,7 @@ static void _exec_cgi(Request& r, const //out.APPEND_CONST("content-type:text/plain\nheader:test-header\n\ntest-body"); //out<(r.self); @@ -252,7 +252,7 @@ static void _exec_cgi(Request& r, const } if(pos<0) { delim_size=0; // calm down, compiler - throw Exception(0, 0, + throw Exception(0, &method_name, "output does not contain CGI header; exit code=%d; outsize=%u; out: \"%s\"; errsize=%u; err: \"%s\"", status, @@ -314,7 +314,7 @@ static void _list(Request& r, const Stri pool.get_client_charset().pcre_tables); if(!regexp_code) - throw Exception(0, 0, + throw Exception(0, ®exp->mid(erroffset, regexp->size()), "regular expression syntax error - %s", errptr); @@ -342,7 +342,7 @@ static void _list(Request& r, const Stri suits=false; else if(exec_result<0) { (*pcre_free)(regexp_code); - throw Exception(0, 0, + throw Exception(0, regexp, "regular expression execute (%d)", exec_result); @@ -381,7 +381,7 @@ static void lock_execute_body(int , void Lock_execute_body_info& info=*static_cast(context); // execute body - info.r->write_assign_lang(info.r->process(*info.body_code)); + info.r->write_assign_lang(info.r->process_to_string(*info.body_code)); }; static void _lock(Request& r, const String& method_name, MethodParams *params) { const String& file_spec=r.absolute(params->as_string(0, "file name must be string"));