--- parser3/src/classes/op.C 2001/04/28 13:24:57 1.11 +++ parser3/src/classes/op.C 2001/05/08 06:07:47 1.16 @@ -5,7 +5,7 @@ Author: Alexander Petrosyan (http://design.ru/paf) - $Id: op.C,v 1.11 2001/04/28 13:24:57 paf Exp $ + $Id: op.C,v 1.16 2001/05/08 06:07:47 paf Exp $ */ #include "classes.h" @@ -172,7 +172,6 @@ static void _use(Request& r, const Strin r.use_file(r.absolute(vfile.as_string())); } -/// ^for[i;from-number;to-number-inclusive]{code}[delim] static void _for(Request& r, const String& method_name, MethodParams *params) { Pool& pool=r.pool(); const String& var_name=r.process(params->get(0)).as_string(); @@ -203,11 +202,11 @@ static void _for(Request& r, const Strin } } -static void _eval(Request& r, const String&, MethodParams *params) { +static void _eval(Request& r, const String& method_name, MethodParams *params) { Value& expr=params->get_junction(0, "need expression"); // evaluate expresion Value *result=r.process(expr, - 0/*no name*/, + 0/*no name YET*/, true/*don't intercept string*/).as_expr_result(); if(params->size()==2) { Value& fmt=params->get_no_junction(1, "fmt must not be code"); @@ -217,6 +216,7 @@ static void _eval(Request& r, const Stri string.APPEND_CONST(format(pool, result->as_double(), fmt.as_string().cstr())); result=new(pool) VString(string); } + result->set_name(method_name); r.write_no_lang(*result); } @@ -233,6 +233,7 @@ static void double_one_op( Value& param=params->get_junction(0, "parameter must be expression"); Value& result=*new(pool) VDouble(pool, (*func)(r.process(param).as_double())); + result.set_name(method_name); r.write_no_lang(result); } @@ -256,7 +257,6 @@ static void _sign(Request& r, const Stri double_one_op(r, method_name, params, &sign); } -/// ^connect[protocol://user:pass@host[:port]/database]{code with ^sql-s} static void _connect(Request& r, const String&, MethodParams *params) { Pool& pool=r.pool();