gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] gnash ChangeLog server/asobj/Date.h server/asob...


From: Martin Guy
Subject: [Gnash-commit] gnash ChangeLog server/asobj/Date.h server/asob...
Date: Fri, 02 Feb 2007 14:05:53 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Martin Guy <martinwguy> 07/02/02 14:05:52

Modified files:
        .              : ChangeLog 
        server/asobj   : Date.h Date.cpp 

Log message:
        Eliminate Date class; port to date_as_obj

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.2233&r2=1.2234
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Date.h?cvsroot=gnash&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Date.cpp?cvsroot=gnash&r1=1.14&r2=1.15

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.2233
retrieving revision 1.2234
diff -u -b -r1.2233 -r1.2234
--- ChangeLog   2 Feb 2007 12:57:50 -0000       1.2233
+++ ChangeLog   2 Feb 2007 14:05:52 -0000       1.2234
@@ -1,3 +1,7 @@
+2007-02-02 Martin Guy <address@hidden>
+
+       * server/Date.cpp: Eliminate Date class; port to date_as_object
+
 2007-02-02 Sandro Santilli <address@hidden>
 
        * testsuite/actionscript.all/MovieClip.as: add a few more checks

Index: server/asobj/Date.h
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Date.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- server/asobj/Date.h 2 Feb 2007 10:31:33 -0000       1.6
+++ server/asobj/Date.h 2 Feb 2007 14:05:52 -0000       1.7
@@ -27,8 +27,6 @@
 #include "as_object.h" // for inheritance
 #include "fn_call.h" // for inheritance
 
-/// TODO: port Date class to new layout
-
 namespace gnash {
 
 void date_class_init(as_object& global);

Index: server/asobj/Date.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Date.cpp,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- server/asobj/Date.cpp       2 Feb 2007 12:49:17 -0000       1.14
+++ server/asobj/Date.cpp       2 Feb 2007 14:05:52 -0000       1.15
@@ -15,8 +15,6 @@
 // along with this program; if not, write to the Free Software
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
-//
-
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
@@ -39,6 +37,7 @@
 
 namespace gnash {
 
+// forwrd declarations
 static void date_new(const fn_call& fn);
 static void date_getdate(const fn_call& fn);
 static void date_getday(const fn_call& fn);
@@ -81,39 +80,71 @@
 static void attachDateInterface(as_object& o);
 static void attachDateStaticInterface(as_object& o);
 
-class Date {
+static void
+attachDateInterface(as_object& o)
+{
+       o.init_member("getDate", &date_getdate);
+       o.init_member("getDay", &date_getday);
+       o.init_member("getFullYear", &date_getfullyear);
+       o.init_member("getHours", &date_gethours);
+       o.init_member("getMilliseconds", &date_getmilliseconds);
+       o.init_member("getMinutes", &date_getminutes);
+       o.init_member("getMonth", &date_getmonth);
+       o.init_member("getSeconds", &date_getseconds);
+       o.init_member("getTime", &date_gettime);
+       o.init_member("getTimezoneOffset", &date_gettimezoneoffset);
+       o.init_member("getUTCDate", &date_getutcdate);
+       o.init_member("getUTCDay", &date_getutcday);
+       o.init_member("getUTCFullYear", &date_getutcfullyear);
+       o.init_member("getUTCHours", &date_getutchours);
+       o.init_member("getUTCMilliseconds", &date_getutcmilliseconds);
+       o.init_member("getUTCMinutes", &date_getutcminutes);
+       o.init_member("getUTCMonth", &date_getutcmonth);
+       o.init_member("getUTCSeconds", &date_getutcseconds);
+       o.init_member("getYear", &date_getyear);
+       o.init_member("setDate", &date_setdate);
+       o.init_member("setFullYear", &date_setfullyear);
+       o.init_member("setHours", &date_sethours);
+       o.init_member("setMilliseconds", &date_setmilliseconds);
+       o.init_member("setMinutes", &date_setminutes);
+       o.init_member("setMonth", &date_setmonth);
+       o.init_member("setSeconds", &date_setseconds);
+       o.init_member("setTime", &date_settime);
+       o.init_member("setUTCDate", &date_setutcdate);
+       o.init_member("setUTCFullYear", &date_setutcfullyear);
+       o.init_member("setUTCHours", &date_setutchours);
+       o.init_member("setUTCMilliseconds", &date_setutcmilliseconds);
+       o.init_member("setUTCMinutes", &date_setutcminutes);
+       o.init_member("setUTCMonth", &date_setutcmonth);
+       o.init_member("setUTCSeconds", &date_setutcseconds);
+       o.init_member("setYear", &date_setyear);
+       o.init_member("toString", &date_tostring);
+}
+
+static void
+attachDateStaticInterface(as_object& o)
+{
+       // TODO: This should *only* be available when SWF version is > 6
+       o.init_member("UTC", &date_utc);
+}
+
+static as_object*
+getDateInterface()
+{
+       static boost::intrusive_ptr<as_object> o;
+       if ( o == NULL )
+       {
+               o = new as_object();
+               attachDateInterface(*o);
+       }
+       return o.get();
+}
+
+class date_as_object : public as_object
+{
 public:
-        Date();
-        ~Date();
        // Use double to avoid overflow
        double getTime();
-       void getTimezoneOffset();
-       void getUTCDate();
-       void getUTCDay();
-       void getUTCFullYear();
-       void getUTCHours();
-       void getUTCMilliseconds();
-       void getUTCMinutes();
-       void getUTCMonth();
-       void getUTCSeconds();
-       void getYear();
-       void setDate();
-       void setFullYear();
-       void setHours();
-       void setMilliseconds();
-       void setMinutes();
-       void setMonth();
-       void setSeconds();
-       void setTime();
-       void setUTCDate();
-       void setUTCFullYear();
-       void setUTCHours();
-       void setUTCMilliseconds();
-       void setUTCMinutes();
-       void setUTCMonth();
-       void setUTCSeconds();
-       void setYear();
-       void toString();
        void UTC();
 
        // These store the local time
@@ -129,212 +160,30 @@
        // This sets the values in the date object to those in the tm struct
        // And ignores any values not stored in the tm struct
        void setFromTM(const tm newtime);
-       // This function normalizes the time - for example, if we set the date 
to
-       // Jan-32, 1:61:60, after normalize the time will be Feb-1, 2:02:00
+       // This function normalizes the time - for example, if we set the date
+       // to Jan-32, 1:61:60, after normalize the time will be Feb-1, 2:02:00
        void Normalize();
-private:
-};
-
-class date_as_object : public as_object
-{
-
-public:
-        Date obj;
 
         date_as_object()
                 :
                 as_object(getDateInterface())
         {
         }
-};
 
-Date::Date() {
-}
-
-Date::~Date() {
-}
+private:
+};
 
+// Return time as number of milliseconds since 1 Jan 1970 UTC
 double
-Date::getTime()
+date_as_object::getTime()
 {
        tm result = convertTM();
        time_t count = mktime(&result);
        return double(count) * 1000.0;
 }
 
-// These are not used anywhere, and look like a half-finished good idea.
-#if 0
-void
-Date::getTimezoneOffset()
-{
-       log_msg("%s:unimplemented \n", __FUNCTION__);
-}
-
-void
-Date::getUTCDate()
-{
-       log_msg("%s:unimplemented \n", __FUNCTION__);
-}
-
-void
-Date::getUTCDay()
-{
-       log_msg("%s:unimplemented \n", __FUNCTION__);
-}
-
-void
-Date::getUTCFullYear()
-{
-       log_msg("%s:unimplemented \n", __FUNCTION__);
-}
-
-void
-Date::getUTCHours()
-{
-       log_msg("%s:unimplemented \n", __FUNCTION__);
-}
-
-void
-Date::getUTCMilliseconds()
-{
-       log_msg("%s:unimplemented \n", __FUNCTION__);
-}
-
-void
-Date::getUTCMinutes()
-{
-       log_msg("%s:unimplemented \n", __FUNCTION__);
-}
-
-void
-Date::getUTCMonth()
-{
-       log_msg("%s:unimplemented \n", __FUNCTION__);
-}
-
-void
-Date::getUTCSeconds()
-{
-       log_msg("%s:unimplemented \n", __FUNCTION__);
-}
-
-void
-Date::getYear()
-{
-       log_msg("%s:unimplemented \n", __FUNCTION__);
-}
-
-void
-Date::setDate()
-{
-       log_msg("%s:unimplemented \n", __FUNCTION__);
-}
-
-void
-Date::setFullYear()
-{
-       log_msg("%s:unimplemented \n", __FUNCTION__);
-}
-
-void
-Date::setHours()
-{
-       log_msg("%s:unimplemented \n", __FUNCTION__);
-}
-
-void
-Date::setMilliseconds()
-{
-       log_msg("%s:unimplemented \n", __FUNCTION__);
-}
-
-void
-Date::setMinutes()
-{
-       log_msg("%s:unimplemented \n", __FUNCTION__);
-}
-
-void
-Date::setMonth()
-{
-       log_msg("%s:unimplemented \n", __FUNCTION__);
-}
-
-void
-Date::setSeconds()
-{
-       log_msg("%s:unimplemented \n", __FUNCTION__);
-}
-
-void
-Date::setTime()
-{
-       log_msg("%s:unimplemented \n", __FUNCTION__);
-}
-
-void
-Date::setUTCDate()
-{
-       log_msg("%s:unimplemented \n", __FUNCTION__);
-}
-
-void
-Date::setUTCFullYear()
-{
-       log_msg("%s:unimplemented \n", __FUNCTION__);
-}
-
-void
-Date::setUTCHours()
-{
-       log_msg("%s:unimplemented \n", __FUNCTION__);
-}
-
-void
-Date::setUTCMilliseconds()
-{
-       log_msg("%s:unimplemented \n", __FUNCTION__);
-}
-
-void
-Date::setUTCMinutes()
-{
-       log_msg("%s:unimplemented \n", __FUNCTION__);
-}
-
-void
-Date::setUTCMonth()
-{
-       log_msg("%s:unimplemented \n", __FUNCTION__);
-}
-
-void
-Date::setUTCSeconds()
-{
-       log_msg("%s:unimplemented \n", __FUNCTION__);
-}
-
-void
-Date::setYear()
-{
-       log_msg("%s:unimplemented \n", __FUNCTION__);
-}
-
-void
-Date::toString()
-{
-       log_msg("%s:unimplemented \n", __FUNCTION__);
-}
-
-void
-Date::UTC()
-{
-       log_msg("%s:unimplemented \n", __FUNCTION__);
-}
-#endif
-
 tm
-Date::convertUTC()
+date_as_object::convertUTC()
 {
        tm utctime;
 
@@ -358,7 +207,7 @@
 }
 
 tm
-Date::convertTM()
+date_as_object::convertTM()
 {
        tm thistime;
 
@@ -382,7 +231,7 @@
 }
 
 void
-Date::setFromTM(const tm newtime)
+date_as_object::setFromTM(const tm newtime)
 {
        second = newtime.tm_sec;
        minute = newtime.tm_min;
@@ -397,7 +246,7 @@
 
 
 void
-Date::Normalize()
+date_as_object::Normalize()
 {
        second += (millisecond / 1000);
        millisecond = millisecond % 1000;
@@ -407,66 +256,6 @@
        setFromTM(*(localtime(&newtime)));
 }
 
-static void
-attachDateInterface(as_object& o)
-{
-       o.init_member("getDate", &date_getdate);
-       o.init_member("getDay", &date_getday);
-       o.init_member("getFullYear", &date_getfullyear);
-       o.init_member("getHours", &date_gethours);
-       o.init_member("getMilliseconds", &date_getmilliseconds);
-       o.init_member("getMinutes", &date_getminutes);
-       o.init_member("getMonth", &date_getmonth);
-       o.init_member("getSeconds", &date_getseconds);
-       o.init_member("getTime", &date_gettime);
-       o.init_member("getTimezoneOffset", &date_gettimezoneoffset);
-       o.init_member("getUTCDate", &date_getutcdate);
-       o.init_member("getUTCDay", &date_getutcday);
-       o.init_member("getUTCFullYear", &date_getutcfullyear);
-       o.init_member("getUTCHours", &date_getutchours);
-       o.init_member("getUTCMilliseconds", &date_getutcmilliseconds);
-       o.init_member("getUTCMinutes", &date_getutcminutes);
-       o.init_member("getUTCMonth", &date_getutcmonth);
-       o.init_member("getUTCSeconds", &date_getutcseconds);
-       o.init_member("getYear", &date_getyear);
-       o.init_member("setDate", &date_setdate);
-       o.init_member("setFullYear", &date_setfullyear);
-       o.init_member("setHours", &date_sethours);
-       o.init_member("setMilliseconds", &date_setmilliseconds);
-       o.init_member("setMinutes", &date_setminutes);
-       o.init_member("setMonth", &date_setmonth);
-       o.init_member("setSeconds", &date_setseconds);
-       o.init_member("setTime", &date_settime);
-       o.init_member("setUTCDate", &date_setutcdate);
-       o.init_member("setUTCFullYear", &date_setutcfullyear);
-       o.init_member("setUTCHours", &date_setutchours);
-       o.init_member("setUTCMilliseconds", &date_setutcmilliseconds);
-       o.init_member("setUTCMinutes", &date_setutcminutes);
-       o.init_member("setUTCMonth", &date_setutcmonth);
-       o.init_member("setUTCSeconds", &date_setutcseconds);
-       o.init_member("setYear", &date_setyear);
-       o.init_member("toString", &date_tostring);
-}
-
-static void
-attachDateStaticInterface(as_object& o)
-{
-       // TODO: This should *only* be available when SWF version is > 6
-       o.init_member("UTC", &date_utc);
-}
-
-static as_object*
-getDateInterface()
-{
-       static boost::intrusive_ptr<as_object> o;
-       if ( o == NULL )
-       {
-               o = new as_object();
-               attachDateInterface(*o);
-       }
-       return o.get();
-}
-
 void
 date_new(const fn_call& fn)
 {
@@ -486,26 +275,26 @@
                ftime (&tb);
                ti = localtime(&tb.time); 
                log_error("date_new constructor doesn't set timezone or 
milliseconds on your system - using defaults\n");
-               date_obj->obj.millisecond = 0;
-               date_obj->obj.minutesEast = 0;
+               date_obj->millisecond = 0;
+               date_obj->minutesEast = 0;
 #else          
                struct timeval tEnd;
                struct timezone tZone;
                gettimeofday(&tEnd,&tZone);
-               date_obj->obj.millisecond = tEnd.tv_usec;
-               date_obj->obj.minutesEast = -tZone.tz_minuteswest;
+               date_obj->millisecond = tEnd.tv_usec;
+               date_obj->minutesEast = -tZone.tz_minuteswest;
                time_t t = time(&t);
                ti = localtime(&t);
 #endif
-               date_obj->obj.second = ti->tm_sec;
-               date_obj->obj.minute = ti->tm_min;
-               date_obj->obj.hour = ti->tm_hour;
-               date_obj->obj.date = ti->tm_mday;
-               date_obj->obj.month = ti->tm_mon;
-               date_obj->obj.year = ti->tm_year;
-               date_obj->obj.dayWeek = ti->tm_wday;
-               date_obj->obj.dayYear = ti->tm_yday;
-               date_obj->obj.isDST = ti->tm_isdst;
+               date_obj->second = ti->tm_sec;
+               date_obj->minute = ti->tm_min;
+               date_obj->hour = ti->tm_hour;
+               date_obj->date = ti->tm_mday;
+               date_obj->month = ti->tm_mon;
+               date_obj->year = ti->tm_year;
+               date_obj->dayWeek = ti->tm_wday;
+               date_obj->dayYear = ti->tm_yday;
+               date_obj->isDST = ti->tm_isdst;
        }
        else
                log_error("date_new constructor with %d arguments 
unimplemented!", fn.nargs);
@@ -528,93 +317,93 @@
 
 static void date_getdate(const fn_call& fn) {
        date_as_object* date = ensure_date_object(fn.this_ptr);
-       fn.result->set_int(date->obj.date);
+       fn.result->set_int(date->date);
 }
 static void date_getday(const fn_call& fn) {
        date_as_object* date = ensure_date_object(fn.this_ptr);
-       fn.result->set_int(date->obj.dayWeek);
+       fn.result->set_int(date->dayWeek);
 }
 static void date_getfullyear(const fn_call& fn) {
        date_as_object* date = ensure_date_object(fn.this_ptr);
-       fn.result->set_int(date->obj.year + 1900);
+       fn.result->set_int(date->year + 1900);
 }
 static void date_gethours(const fn_call& fn) {
        date_as_object* date = ensure_date_object(fn.this_ptr);
-       fn.result->set_int(date->obj.hour);
+       fn.result->set_int(date->hour);
 }
 static void date_getmilliseconds(const fn_call& fn) {
        date_as_object* date = ensure_date_object(fn.this_ptr);
-       fn.result->set_int(date->obj.millisecond);
+       fn.result->set_int(date->millisecond);
 }
 static void date_getminutes(const fn_call& fn) {
        date_as_object* date = ensure_date_object(fn.this_ptr);
-       fn.result->set_int(date->obj.minute);
+       fn.result->set_int(date->minute);
 }
 static void date_getmonth(const fn_call& fn) {
        date_as_object* date = ensure_date_object(fn.this_ptr);
-       fn.result->set_int(date->obj.month);
+       fn.result->set_int(date->month);
 }
 static void date_getseconds(const fn_call& fn) {
        date_as_object* date = ensure_date_object(fn.this_ptr);
-       fn.result->set_int(date->obj.second);
+       fn.result->set_int(date->second);
 }
 static void date_gettime(const fn_call& fn) {
        date_as_object* date = ensure_date_object(fn.this_ptr);
-       fn.result->set_double(date->obj.getTime());
+       fn.result->set_double(date->getTime());
 }
 static void date_gettimezoneoffset(const fn_call& fn) {
        date_as_object* date = ensure_date_object(fn.this_ptr);
-       fn.result->set_int(date->obj.minutesEast);
+       fn.result->set_int(date->minutesEast);
 }
 static void date_getutcdate(const fn_call& fn) {
        date_as_object* date = ensure_date_object(fn.this_ptr);
-       tm result = date->obj.convertUTC();
+       tm result = date->convertUTC();
 
        fn.result->set_int(int(result.tm_mday));
 }
 static void date_getutcday(const fn_call& fn) {
        date_as_object* date = ensure_date_object(fn.this_ptr);
-       tm result = date->obj.convertUTC();
+       tm result = date->convertUTC();
 
        fn.result->set_int(int(result.tm_wday));
 }
 static void date_getutcfullyear(const fn_call& fn) {
        date_as_object* date = ensure_date_object(fn.this_ptr);
-       tm result = date->obj.convertUTC();
+       tm result = date->convertUTC();
 
        fn.result->set_int(int(result.tm_year)+1900);
 }
 static void date_getutchours(const fn_call& fn) {
        date_as_object* date = ensure_date_object(fn.this_ptr);
-       tm result = date->obj.convertUTC();
+       tm result = date->convertUTC();
 
        fn.result->set_int(int(result.tm_hour));
 }
 static void date_getutcmilliseconds(const fn_call& fn) {
        date_as_object* date = ensure_date_object(fn.this_ptr);
        // Milliseconds (value between 0 and 999) won't be affected by timezone
-       fn.result->set_int(int(date->obj.millisecond));
+       fn.result->set_int(int(date->millisecond));
 }
 static void date_getutcminutes(const fn_call& fn) {
        date_as_object* date = ensure_date_object(fn.this_ptr);
-       tm result = date->obj.convertUTC();
+       tm result = date->convertUTC();
 
        fn.result->set_int(int(result.tm_min));
 }
 static void date_getutcmonth(const fn_call& fn) {
        date_as_object* date = ensure_date_object(fn.this_ptr);
-       tm result = date->obj.convertUTC();
+       tm result = date->convertUTC();
 
        fn.result->set_int(int(result.tm_mon));
 }
 static void date_getutcseconds(const fn_call& fn) {
        date_as_object* date = ensure_date_object(fn.this_ptr);
        // Seconds (value between 0 and 59) won't be affected by timezone
-       fn.result->set_int(int(date->obj.second));
+       fn.result->set_int(int(date->second));
 }
 static void date_getyear(const fn_call& fn) {
        date_as_object* date = ensure_date_object(fn.this_ptr);
-       fn.result->set_int(date->obj.year);
+       fn.result->set_int(date->year);
 }
 
 // TODO: for all these "set" functions, what do we do if sent illegal values?
@@ -633,8 +422,8 @@
                log_aserror("Date.setDate needs one argument");
            )
        } else {
-               date->obj.date = (long int)(fn.arg(0).to_number());
-               date->obj.Normalize();
+               date->date = (long int)(fn.arg(0).to_number());
+               date->Normalize();
        }
 
        if (fn.nargs > 1) {
@@ -643,7 +432,7 @@
            )
        }
 
-       fn.result->set_double(date->obj.getTime());
+       fn.result->set_double(date->getTime());
 }
 
 /// \brief Set year [, month [, date]]
@@ -657,19 +446,19 @@
                log_aserror("Date.setFullYear needs one argument");
            )
        } else {
-           date->obj.year = (long int)(fn.arg(0).to_number() - 1900);
+           date->year = (long int)(fn.arg(0).to_number() - 1900);
            if (fn.nargs >= 2)
-                   date->obj.month = (long int)(fn.arg(1).to_number());
+                   date->month = (long int)(fn.arg(1).to_number());
            if (fn.nargs >= 3)
-                   date->obj.date = (long int)(fn.arg(2).to_number());
+                   date->date = (long int)(fn.arg(2).to_number());
            if (fn.nargs > 3) {
                IF_VERBOSE_ASCODING_ERRORS(
                    log_aserror("Date.setFullYear has more than three 
arguments");
                )
            }
-           date->obj.Normalize();
+           date->Normalize();
        }
-       fn.result->set_double(date->obj.getTime());
+       fn.result->set_double(date->getTime());
 }
 static void date_sethours(const fn_call& fn) {
        date_as_object* date = ensure_date_object(fn.this_ptr);
@@ -680,21 +469,21 @@
                log_aserror("Date.setHours needs one argument");
            )
        } else {
-           date->obj.hour = (long int)(fn.arg(0).to_number());
+           date->hour = (long int)(fn.arg(0).to_number());
            if (fn.nargs >= 2)
-                   date->obj.minute = (long int)(fn.arg(1).to_number());
+                   date->minute = (long int)(fn.arg(1).to_number());
            if (fn.nargs >= 3)
-                   date->obj.second = (long int)(fn.arg(2).to_number());
+                   date->second = (long int)(fn.arg(2).to_number());
            if (fn.nargs >= 4)
-                   date->obj.millisecond = (long int)(fn.arg(3).to_number());
+                   date->millisecond = (long int)(fn.arg(3).to_number());
            if (fn.nargs > 4) {
                IF_VERBOSE_ASCODING_ERRORS(
                    log_aserror("Date.setHours has more than four arguments");
                )
            }
-           date->obj.Normalize();
+           date->Normalize();
        }
-       fn.result->set_double(date->obj.getTime());
+       fn.result->set_double(date->getTime());
 }
 static void date_setmilliseconds(const fn_call& fn) {
        date_as_object* date = ensure_date_object(fn.this_ptr);
@@ -705,15 +494,15 @@
                log_aserror("Date.setMilliseconds needs one argument");
            )
        } else {
-           date->obj.millisecond = (long int)(fn.arg(0).to_number());
+           date->millisecond = (long int)(fn.arg(0).to_number());
            if (fn.nargs > 1) {
                IF_VERBOSE_ASCODING_ERRORS(
                    log_aserror("Date.setMilliseconds has more than one 
argument");
                )
            }
-           date->obj.Normalize();
+           date->Normalize();
        }
-       fn.result->set_double(date->obj.getTime());
+       fn.result->set_double(date->getTime());
 }
 static void date_setminutes(const fn_call& fn) {
        date_as_object* date = ensure_date_object(fn.this_ptr);
@@ -725,17 +514,17 @@
            )
        } else {
            // Seconds (value between 0 and 59) won't be affected by timezone
-           date->obj.minute = (long int)(fn.arg(0).to_number());
-           if (fn.nargs >= 2) date->obj.second = (long 
int)(fn.arg(1).to_number());
-           if (fn.nargs >= 3) date->obj.millisecond = (long 
int)(fn.arg(2).to_number());
+           date->minute = (long int)(fn.arg(0).to_number());
+           if (fn.nargs >= 2) date->second = (long int)(fn.arg(1).to_number());
+           if (fn.nargs >= 3) date->millisecond = (long 
int)(fn.arg(2).to_number());
            if (fn.nargs > 3) {
                IF_VERBOSE_ASCODING_ERRORS(
                    log_aserror("Date.setMinutes has more than three 
arguments");
                )
            }
-           date->obj.Normalize();
+           date->Normalize();
        }
-       fn.result->set_double(date->obj.getTime());
+       fn.result->set_double(date->getTime());
 }
 static void date_setmonth(const fn_call& fn) {
        date_as_object* date = ensure_date_object(fn.this_ptr);
@@ -746,18 +535,18 @@
                log_aserror("Date.setMonth needs one argument");
            )
        } else {
-           date->obj.month = (long int)(fn.arg(0).to_number());
+           date->month = (long int)(fn.arg(0).to_number());
            if (fn.nargs >= 2)
-               date->obj.date = (long int)(fn.arg(1).to_number());
+               date->date = (long int)(fn.arg(1).to_number());
            if (fn.nargs > 2) {
                IF_VERBOSE_ASCODING_ERRORS(
                    log_aserror("Date.setMonth has more than two arguments");
                )
            }
 
-           date->obj.Normalize();
+           date->Normalize();
        }
-       fn.result->set_double(date->obj.getTime());
+       fn.result->set_double(date->getTime());
 }
 static void date_setseconds(const fn_call& fn) {
        date_as_object* date = ensure_date_object(fn.this_ptr);
@@ -769,18 +558,18 @@
            )
        } else {
            // Seconds (value between 0 and 59) won't be affected by timezone
-           date->obj.second = (long int)(fn.arg(0).to_number());
+           date->second = (long int)(fn.arg(0).to_number());
            if (fn.nargs >= 2)
-               date->obj.millisecond = (long int)(fn.arg(1).to_number());
+               date->millisecond = (long int)(fn.arg(1).to_number());
            if (fn.nargs > 2) {
                IF_VERBOSE_ASCODING_ERRORS(
                    log_aserror("Date.setSeconds has more than two arguments");
                )
            }
 
-           date->obj.Normalize();
+           date->Normalize();
        }
-       fn.result->set_double(date->obj.getTime());
+       fn.result->set_double(date->getTime());
 }
 static void date_settime(const fn_call& fn) {
        date_as_object* date = ensure_date_object(fn.this_ptr);
@@ -792,17 +581,17 @@
            )
        } else {
            double millitime = fn.arg(0).to_number();
-           date->obj.millisecond = (long) fmod(millitime, 1000.0);
+           date->millisecond = (long) fmod(millitime, 1000.0);
            time_t sectime = (time_t) (millitime / 1000.0);
            tm *tm = gmtime(&sectime);
-           date->obj.second = tm->tm_sec;
-           date->obj.minute = tm->tm_min;
-           date->obj.hour = tm->tm_hour;
-           date->obj.date = tm->tm_mday;
-           date->obj.month = tm->tm_mon;
-           date->obj.year = tm->tm_year; // No of years since 1900, the same.
+           date->second = tm->tm_sec;
+           date->minute = tm->tm_min;
+           date->hour = tm->tm_hour;
+           date->date = tm->tm_mday;
+           date->month = tm->tm_mon;
+           date->year = tm->tm_year; // No of years since 1900, the same.
            
-           date->obj.Normalize();
+           date->Normalize();
        }
        if (fn.nargs > 1) {
            IF_VERBOSE_ASCODING_ERRORS(
@@ -810,7 +599,7 @@
            )
        }
 
-       fn.result->set_double(date->obj.getTime());
+       fn.result->set_double(date->getTime());
 }
 static void date_setutcdate(const fn_call& fn) {
        date_as_object* date = ensure_date_object(fn.this_ptr);
@@ -821,16 +610,16 @@
                log_aserror("Date.setUTCDate needs one argument");
            )
        } else {
-           tm utctime = date->obj.convertUTC();
+           tm utctime = date->convertUTC();
            // Set mday to our new UTC date (yday and wday don't need to be set)
            utctime.tm_mday = int(fn.arg(0).to_number());
 
            // Convert back from UTC to local time
-           utctime.tm_min += date->obj.minutesEast;
+           utctime.tm_min += date->minutesEast;
 
            // Normalize the time, then set as this object's new time
            time_t newtime = mktime(&utctime);
-           date->obj.setFromTM(*(localtime(&newtime)));
+           date->setFromTM(*(localtime(&newtime)));
 
            if (fn.nargs > 1) {
                IF_VERBOSE_ASCODING_ERRORS(
@@ -839,7 +628,7 @@
            }
        }
        
-       fn.result->set_double(date->obj.getTime());
+       fn.result->set_double(date->getTime());
 }
 static void date_setutcfullyear(const fn_call& fn) {
        date_as_object* date = ensure_date_object(fn.this_ptr);
@@ -850,7 +639,7 @@
                log_aserror("Date.setUTCFullYear needs one argument");
            )
        } else {
-           tm utctime = date->obj.convertUTC();
+           tm utctime = date->convertUTC();
            // Set year to our new UTC date
            utctime.tm_year = int(fn.arg(0).to_number()-1900);
            if (fn.nargs >= 2)
@@ -864,14 +653,14 @@
            }
 
            // Convert back from UTC to local time
-           utctime.tm_min += date->obj.minutesEast;
+           utctime.tm_min += date->minutesEast;
 
            // Normalize the time, then set as this object's new time
            time_t newtime = mktime(&utctime);
-           date->obj.setFromTM(*(localtime(&newtime)));
+           date->setFromTM(*(localtime(&newtime)));
        }
        
-       fn.result->set_double(date->obj.getTime());
+       fn.result->set_double(date->getTime());
 }
 static void date_setutchours(const fn_call& fn) {
        date_as_object* date = ensure_date_object(fn.this_ptr);
@@ -885,11 +674,11 @@
 
            if (fn.nargs >= 4)
            {
-               date->obj.millisecond = (long int)(fn.arg(3).to_number());
-               date->obj.Normalize();
+               date->millisecond = (long int)(fn.arg(3).to_number());
+               date->Normalize();
            }
 
-           tm utctime = date->obj.convertUTC();
+           tm utctime = date->convertUTC();
            // Set year to our new UTC date
            utctime.tm_hour = int(fn.arg(0).to_number());
            if (fn.nargs >= 2)
@@ -903,14 +692,14 @@
            }
 
            // Convert back from UTC to local time
-           utctime.tm_min += date->obj.minutesEast;
+           utctime.tm_min += date->minutesEast;
 
            // Normalize the time, then set as this object's new time
            time_t newtime = mktime(&utctime);
-           date->obj.setFromTM(*(localtime(&newtime)));
+           date->setFromTM(*(localtime(&newtime)));
        }
        
-       fn.result->set_double(date->obj.getTime());
+       fn.result->set_double(date->getTime());
 }
 static void date_setutcmilliseconds(const fn_call& fn) {
        date_as_object* date = ensure_date_object(fn.this_ptr);
@@ -921,16 +710,16 @@
                log_aserror("Date.setUTCMilliseconds needs one argument");
            )
        } else {
-           date->obj.millisecond = (long int)(fn.arg(0).to_number());
+           date->millisecond = (long int)(fn.arg(0).to_number());
            if (fn.nargs > 1) {
                IF_VERBOSE_ASCODING_ERRORS(
                    log_aserror("Date.setUTCMilliseconds has more than one 
argument");
                )
            }
 
-           date->obj.Normalize();
+           date->Normalize();
        }
-       fn.result->set_double(date->obj.getTime());
+       fn.result->set_double(date->getTime());
 }
 static void date_setutcminutes(const fn_call& fn) {
        date_as_object* date = ensure_date_object(fn.this_ptr);
@@ -942,9 +731,9 @@
            )
        } else {
            // Seconds (value between 0 and 59) won't be affected by timezone
-           date->obj.minute = (long int)(fn.arg(0).to_number());
-           if (fn.nargs >= 2) date->obj.second = (long 
int)(fn.arg(1).to_number());
-           if (fn.nargs >= 3) date->obj.millisecond = (long 
int)(fn.arg(2).to_number());
+           date->minute = (long int)(fn.arg(0).to_number());
+           if (fn.nargs >= 2) date->second = (long int)(fn.arg(1).to_number());
+           if (fn.nargs >= 3) date->millisecond = (long 
int)(fn.arg(2).to_number());
            if (fn.nargs > 3) {
                IF_VERBOSE_ASCODING_ERRORS(
                    log_aserror("Date.setUTCMinutes has more than three 
arguments");
@@ -954,12 +743,12 @@
            // Setting milliseconds to less than 0 or more than 999 affects 
seconds
 
            // TODO: both of these lines are wrong for negative values
-           date->obj.second += date->obj.millisecond / 1000;
-           date->obj.millisecond = date->obj.millisecond % 1000;
+           date->second += date->millisecond / 1000;
+           date->millisecond = date->millisecond % 1000;
 
-           date->obj.Normalize();
+           date->Normalize();
        }
-       fn.result->set_double(date->obj.getTime());
+       fn.result->set_double(date->getTime());
 }
 static void date_setutcmonth(const fn_call& fn) {
        date_as_object* date = ensure_date_object(fn.this_ptr);
@@ -970,7 +759,7 @@
                log_aserror("Date.setUTCMonth needs one argument");
            )
        } else {
-           tm utctime = date->obj.convertUTC();
+           tm utctime = date->convertUTC();
            // Set year to our new UTC date
            utctime.tm_mon = int(fn.arg(0).to_number());
            if (fn.nargs >= 2)
@@ -982,13 +771,13 @@
            }
 
            // Convert back from UTC to local time
-           utctime.tm_min += date->obj.minutesEast;
+           utctime.tm_min += date->minutesEast;
 
            // Normalize the time, then set as this object's new time
            time_t newtime = mktime(&utctime);
-           date->obj.setFromTM(*(localtime(&newtime)));
+           date->setFromTM(*(localtime(&newtime)));
        }
-       fn.result->set_double(date->obj.getTime());
+       fn.result->set_double(date->getTime());
 }
 static void date_setutcseconds(const fn_call& fn) {
        date_as_object* date = ensure_date_object(fn.this_ptr);
@@ -1000,18 +789,18 @@
            )
        } else {
            // Seconds (value between 0 and 59) won't be affected by timezone
-           date->obj.second = (long int)(fn.arg(0).to_number());
+           date->second = (long int)(fn.arg(0).to_number());
            if (fn.nargs >= 2)
-               date->obj.millisecond = (long int)(fn.arg(1).to_number());
+               date->millisecond = (long int)(fn.arg(1).to_number());
            if (fn.nargs > 2) {
                IF_VERBOSE_ASCODING_ERRORS(
                    log_aserror("Date.setUTCSeconds has more than two 
arguments");
                )
            }
 
-           date->obj.Normalize();
+           date->Normalize();
        }
-       fn.result->set_double(date->obj.getTime());
+       fn.result->set_double(date->getTime());
 }
 
 // If year is an integer between 0-99, setYear sets the year at 1900 + year;
@@ -1025,17 +814,17 @@
                log_aserror("Date.setYear needs one argument");
            )
        } else {
-           date->obj.year = (long int)(fn.arg(0).to_number());
-           if (date->obj.year < 100) date->obj.year += 1900;
+           date->year = (long int)(fn.arg(0).to_number());
+           if (date->year < 100) date->year += 1900;
            if (fn.nargs > 1) {
                IF_VERBOSE_ASCODING_ERRORS(
                    log_aserror("Date.setYear has more than two arguments");
                )
            }
 
-           date->obj.Normalize();
+           date->Normalize();
        }
-       fn.result->set_double(date->obj.getTime());
+       fn.result->set_double(date->getTime());
 }
 
 static void date_tostring(const fn_call& fn) {
@@ -1049,9 +838,9 @@
        date_as_object* date = ensure_date_object(fn.this_ptr);
 
        snprintf((char *)&buffer,128,"%s %s %2ld %.2ld:%.2ld:%.2ld %ld",
-               dayweekname[date->obj.dayWeek],monthname[date->obj.month],
-               date->obj.date,date->obj.hour,date->obj.minute,date->obj.second,
-               1900+date->obj.year);
+               dayweekname[date->dayWeek],monthname[date->month],
+               date->date,date->hour,date->minute,date->second,
+               1900+date->year);
 
        fn.result->set_string((char *)&buffer);
 }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]