--- parser3/src/classes/date.C 2001/07/09 16:13:17 1.3 +++ parser3/src/classes/date.C 2001/09/21 14:46:09 1.7 @@ -4,10 +4,8 @@ Copyright (c) 2001 ArtLebedev Group (http://www.artlebedev.com) Author: Alexander Petrosyan (http://design.ru/paf) - - $Id: date.C,v 1.3 2001/07/09 16:13:17 parser Exp $ */ -static const char *RCSId="$Id: date.C,v 1.3 2001/07/09 16:13:17 parser Exp $"; +static const char *RCSId="$Id: date.C,v 1.7 2001/09/21 14:46:09 parser Exp $"; #include "classes.h" #include "pa_request.h" @@ -71,15 +69,19 @@ static void _set(Request& r, const Strin vdate->set_time(time); } -static void _string(Request& r, const String& method_name, MethodParams *) { +static void _sql_string(Request& r, const String& method_name, MethodParams *) { Pool& pool=r.pool(); VDate *vdate=static_cast(r.self); int size=1+ 4+1+2+1+2 +1+ 2+1+2+1+2 +1 +1; char *buf=(char *)pool.malloc(size); time_t time=vdate->get_time(); - size=strftime(buf, size, "'%Y-%m-%d %H:%M:%S'", gmtime(&time)); + size=strftime(buf, size, "%Y-%m-%d %H:%M:%S", gmtime(&time)); - Value& result=*new(pool) VString(*new(pool) String(pool, buf, size)); + String& string=*new(pool) String(pool); + string.APPEND_CLEAN(buf, size, + method_name.origin().file, + method_name.origin().line); + Value& result=*new(pool) VString(string); r.write_assign_lang(result); } @@ -132,8 +134,8 @@ MDate::MDate(Pool& apool) : Methoded(apo // ^set(float days) add_native_method("set", Method::CT_DYNAMIC, _set, 1, 6); - // ^string[] - add_native_method("string", Method::CT_DYNAMIC, _string, 0, 0); + // ^sql-string[] + add_native_method("sql-string", Method::CT_DYNAMIC, _sql_string, 0, 0); // ^roll(year|month|day;+/- 1) add_native_method("roll", Method::CT_DYNAMIC, _roll, 2, 2);