|
|
| version 1.94, 2002/01/25 11:33:45 | version 1.97, 2002/02/08 08:30:10 |
|---|---|
| Line 1 | Line 1 |
| /** @file | /** @file |
| Parser: @b string parser class. | Parser: @b string parser class. |
| Copyright (c) 2001 ArtLebedev Group (http://www.artlebedev.com) | Copyright (c) 2001, 2002 ArtLebedev Group (http://www.artlebedev.com) |
| Author: Alexander Petrosyan <paf@design.ru> (http://paf.design.ru) | Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru) |
| $Id$ | $Id$ |
| */ | */ |
| Line 80 static void _double(Request& r, const St | Line 80 static void _double(Request& r, const St |
| /*not static*/void _string_format(Request& r, const String& method_name, MethodParams *params) { | /*not static*/void _string_format(Request& r, const String& method_name, MethodParams *params) { |
| Pool& pool=r.pool(); | Pool& pool=r.pool(); |
| Value& fmt=params->as_junction(0, "fmt must be code"); | Value& fmt_maybe_code=params->get(0); |
| // for some time due to stupid {} in original design | |
| const String& fmt= | |
| (fmt_maybe_code.get_junction()?r.process(fmt_maybe_code):fmt_maybe_code).as_string(); | |
| Temp_lang temp_lang(r, String::UL_PASS_APPENDED); | char *buf=format(pool, r.self->as_double(), fmt.cstr()); |
| char *buf=format(pool, r.self->as_double(), | |
| r.process(fmt).as_string().cstr(String::UL_UNSPECIFIED, r.connection(0))); | |
| String result(pool); | String result(pool); |
| result.APPEND_CLEAN(buf, 0, | result.APPEND_CLEAN(buf, 0, |