|
|
| version 1.98, 2002/03/27 15:30:34 | version 1.99, 2002/04/10 09:53:14 |
|---|---|
| Line 50 static void _int(Request& r, const Strin | Line 50 static void _int(Request& r, const Strin |
| if(!default_code) // we have a problem when no default | if(!default_code) // we have a problem when no default |
| /*re*/throw; | /*re*/throw; |
| else | else |
| converted=r.process(*default_code).as_int(); | converted=r.process_to_value(*default_code).as_int(); |
| } | } |
| Value& result=*new(pool) VInt(pool, converted); | Value& result=*new(pool) VInt(pool, converted); |
| Line 69 static void _double(Request& r, const St | Line 69 static void _double(Request& r, const St |
| if(!default_code) // we have a problem when no default | if(!default_code) // we have a problem when no default |
| /*re*/throw; | /*re*/throw; |
| else | else |
| converted=r.process(*default_code).as_double(); | converted=r.process_to_value(*default_code).as_double(); |
| } | } |
| Value& result=*new(pool) VDouble(pool, converted); | Value& result=*new(pool) VDouble(pool, converted); |
| Line 82 static void _double(Request& r, const St | Line 82 static void _double(Request& r, const St |
| Value& fmt_maybe_code=params->get(0); | Value& fmt_maybe_code=params->get(0); |
| // for some time due to stupid {} in original design | // for some time due to stupid {} in original design |
| const String& fmt= | const String& fmt=r.process_to_string(fmt_maybe_code); |
| (fmt_maybe_code.get_junction()?r.process(fmt_maybe_code):fmt_maybe_code).as_string(); | |
| char *buf=format(pool, r.self->as_double(), fmt.cstr()); | char *buf=format(pool, r.self->as_double(), fmt.cstr()); |
| Line 215 static void replace_action(Table& table, | Line 214 static void replace_action(Table& table, |
| Junction *junction=ai.replacement_code->get_junction(); | Junction *junction=ai.replacement_code->get_junction(); |
| Value *saved_match_var_value=junction->root->get_element(*match_var_name); | Value *saved_match_var_value=junction->root->get_element(*match_var_name); |
| junction->root->put_element(*match_var_name, &vtable); | junction->root->put_element(*match_var_name, &vtable); |
| Value& replaced=ai.request->process(*ai.replacement_code, ai.origin, false); | const String& replaced=ai.request->process_to_string(*ai.replacement_code, ai.origin); |
| junction->root->put_element(*match_var_name, saved_match_var_value); | junction->root->put_element(*match_var_name, saved_match_var_value); |
| /* | /* |
| Line 223 static void replace_action(Table& table, | Line 222 static void replace_action(Table& table, |
| *ai.dest << *(String *)row->get(1/*match* /); | *ai.dest << *(String *)row->get(1/*match* /); |
| ai.dest->APPEND_CONST(")"); | ai.dest->APPEND_CONST(")"); |
| */ | */ |
| *ai.dest << replaced.as_string(); | *ai.dest << replaced; |
| } | } |
| ai.post_match=(String *)row->get(2/*post_match*/); | ai.post_match=(String *)row->get(2/*post_match*/); |
| } else // end | } else // end |
| Line 270 static void _match(Request& r, const Str | Line 269 static void _match(Request& r, const Str |
| }; | }; |
| src.match( | src.match( |
| &method_name, | &method_name, |
| r.process(regexp).as_string(), options, | r.process_to_string(regexp), options, |
| &table, | &table, |
| replace_action, &replace_action_info); | replace_action, &replace_action_info); |
| result=new(pool) VString(dest); | result=new(pool) VString(dest); |
| Line 348 const String* sql_result_string(Request& | Line 347 const String* sql_result_string(Request& |
| if(voptions.is_defined()) | if(voptions.is_defined()) |
| if(options=voptions.get_hash(&method_name)) { | if(options=voptions.get_hash(&method_name)) { |
| if(Value *vlimit=(Value *)options->get(*sql_limit_name)) | if(Value *vlimit=(Value *)options->get(*sql_limit_name)) |
| limit=(ulong)r.process(*vlimit).as_double(); | limit=(ulong)r.process_to_value(*vlimit).as_double(); |
| if(Value *voffset=(Value *)options->get(*sql_offset_name)) | if(Value *voffset=(Value *)options->get(*sql_offset_name)) |
| offset=(ulong)r.process(*voffset).as_double(); | offset=(ulong)r.process_to_value(*voffset).as_double(); |
| if(default_code=(Value *)options->get(*sql_default_name)) { | if(default_code=(Value *)options->get(*sql_default_name)) { |
| if(!default_code->get_junction()) | if(!default_code->get_junction()) |
| throw Exception("parser.runtime", | throw Exception("parser.runtime", |
| Line 365 const String* sql_result_string(Request& | Line 364 const String* sql_result_string(Request& |
| options=0; | options=0; |
| Temp_lang temp_lang(r, String::UL_SQL); | Temp_lang temp_lang(r, String::UL_SQL); |
| const String& statement_string=r.process(statement).as_string(); | const String& statement_string=r.process_to_string(statement); |
| const char *statement_cstr= | const char *statement_cstr= |
| statement_string.cstr(String::UL_UNSPECIFIED, r.connection(&method_name)); | statement_string.cstr(String::UL_UNSPECIFIED, r.connection(&method_name)); |
| String_sql_event_handlers handlers(pool, statement_string, statement_cstr); | String_sql_event_handlers handlers(pool, statement_string, statement_cstr); |
| Line 394 static void _sql(Request& r, const Strin | Line 393 static void _sql(Request& r, const Strin |
| const String *string=sql_result_string(r, method_name, params, options, default_code); | const String *string=sql_result_string(r, method_name, params, options, default_code); |
| if(!string) { | if(!string) { |
| if(default_code) { | if(default_code) { |
| string=r.process(*default_code).get_string(); | string=&r.process_to_string(*default_code); |
| if(!string) | if(!string) |
| string=new(pool) String(pool); | string=new(pool) String(pool); |
| } else | } else |