Diff for /parser3/src/classes/string.C between versions 1.76 and 1.78

version 1.76, 2001/09/30 09:56:43 version 1.78, 2001/10/09 07:06:00
Line 51  static void _int(Request& r, const Strin Line 51  static void _int(Request& r, const Strin
                         rethrow_me=e;                            rethrow_me=e;  
                         converted=0;                          converted=0;
                 } else                  } else
                         converted=params->as_int(0, r); // (default)                          converted=params->as_int(0, "default must be int", r); // (default)
         }          }
         PEND_CATCH          PEND_CATCH
         if(convert_problem)          if(convert_problem)
Line 76  static void _double(Request& r, const St Line 76  static void _double(Request& r, const St
                         rethrow_me=e;                            rethrow_me=e;  
                         converted=0;                          converted=0;
                 } else                  } else
                         converted=params->as_double(0, r); // (default)                          converted=params->as_double(0, "default must be double", r); // (default)
         }          }
         PEND_CATCH          PEND_CATCH
         if(convert_problem)          if(convert_problem)
Line 107  static void _double(Request& r, const St Line 107  static void _double(Request& r, const St
 static void _left(Request& r, const String&, MethodParams *params) {  static void _left(Request& r, const String&, MethodParams *params) {
         Pool& pool=r.pool();          Pool& pool=r.pool();
   
         size_t n=(size_t)r.process(params->get(0)).as_double();          size_t n=(size_t)params->as_int(0, "n must be int", r);
                   
         const String& string=*static_cast<VString *>(r.self)->get_string();          const String& string=*static_cast<VString *>(r.self)->get_string();
         r.write_assign_lang(*new(pool) VString(string.mid(0, n)));          r.write_assign_lang(*new(pool) VString(string.mid(0, n)));
Line 116  static void _left(Request& r, const Stri Line 116  static void _left(Request& r, const Stri
 static void _right(Request& r, const String&, MethodParams *params) {  static void _right(Request& r, const String&, MethodParams *params) {
         Pool& pool=r.pool();          Pool& pool=r.pool();
   
         size_t n=(size_t)r.process(params->get(0)).as_double();          size_t n=(size_t)params->as_int(0, "n must be int", r);
                   
         const String& string=*static_cast<VString *>(r.self)->get_string();          const String& string=*static_cast<VString *>(r.self)->get_string();
         r.write_assign_lang(*new(pool) VString(string.mid(string.size()-n, string.size())));          r.write_assign_lang(*new(pool) VString(string.mid(string.size()-n, string.size())));
Line 125  static void _right(Request& r, const Str Line 125  static void _right(Request& r, const Str
 static void _mid(Request& r, const String&, MethodParams *params) {  static void _mid(Request& r, const String&, MethodParams *params) {
         Pool& pool=r.pool();          Pool& pool=r.pool();
   
         size_t p=(size_t)r.process(params->get(0)).as_double();          size_t p=(size_t)params->as_int(0, "p must be int", r);
         size_t n=(size_t)r.process(params->get(1)).as_double();          size_t n=(size_t)params->as_int(1, "n must be int", r);
                   
         const String& string=*static_cast<VString *>(r.self)->get_string();          const String& string=*static_cast<VString *>(r.self)->get_string();
         r.write_assign_lang(*new(pool) VString(string.mid(p, p+n)));          r.write_assign_lang(*new(pool) VString(string.mid(p, p+n)));

Removed from v.1.76  
changed lines
  Added in v.1.78


E-mail: