Diff for /parser3/src/classes/string.C between versions 1.93 and 1.97

version 1.93, 2002/01/16 10:28:33 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, 
Line 421  static void _replace(Request& r, const S Line 422  static void _replace(Request& r, const S
 }  }
   
 static void _save(Request& r, const String& method_name, MethodParams *params) {  static void _save(Request& r, const String& method_name, MethodParams *params) {
         Pool& pool=r.pool();  
         const String& file_name=params->as_string(params->size()-1,           const String& file_name=params->as_string(params->size()-1, 
                 "file name must be string");                  "file name must be string");
   
Line 440  static void _save(Request& r, const Stri Line 440  static void _save(Request& r, const Stri
   
         // write          // write
         const char *buf=src.cstr(String::UL_UNSPECIFIED);          const char *buf=src.cstr(String::UL_UNSPECIFIED);
         file_write(pool, r.absolute(file_name),           file_write(r.absolute(file_name), 
                 buf, strlen(buf), true, do_append);                  buf, strlen(buf), true, do_append);
 }  }
   

Removed from v.1.93  
changed lines
  Added in v.1.97


E-mail: