--- parser3/src/classes/table.C 2001/09/18 16:05:42 1.112 +++ parser3/src/classes/table.C 2001/10/02 13:32:38 1.117 @@ -2,10 +2,10 @@ Parser: @b table parser class. Copyright (c) 2001 ArtLebedev Group (http://www.artlebedev.com) - Author: Alexander Petrosyan (http://design.ru/paf) + + $Id: table.C,v 1.117 2001/10/02 13:32:38 parser Exp $ */ -static const char *RCSId="$Id: table.C,v 1.112 2001/09/18 16:05:42 parser Exp $"; #include "classes.h" #include "pa_config_includes.h" @@ -65,8 +65,8 @@ static void _set(Request& r, const Strin while(i.has_next()) { Array& row=*new(pool) Array(pool); const String& string=*i.next_string(); - // remove empty lines - if(!string.size()) + // remove empty&comment lines + if(!string.size() || string.first_char() == '#') continue; string.split(row, 0, "\t", 1, String::UL_CLEAN); @@ -80,11 +80,11 @@ static void _set(Request& r, const Strin static void _load(Request& r, const String& method_name, MethodParams *params) { Pool& pool=r.pool(); // filename is last parameter - const String& filename=params->as_string(params->size()-1, + Value& vfilename=params->as_no_junction(params->size()-1, "file name must not be code"); // loading text - char *data=file_read_text(pool, r.absolute(filename)); + char *data=file_read_text(pool, r.absolute(vfilename.as_string())); // parse columns Array *columns; @@ -470,7 +470,8 @@ static void _sort(Request& r, const Stri for(i=0; i(r.self)->set_table(new_table); } static void _locate(Request& r, const String& method_name, MethodParams *params) {