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.cpp


From: Martin Guy
Subject: [Gnash-commit] gnash ChangeLog server/asobj/Date.cpp
Date: Fri, 02 Feb 2007 01:27:23 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Martin Guy <martinwguy> 07/02/02 01:27:22

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

Log message:
        #if 0 out unused function stubs and implement missing setDate method

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.2224&r2=1.2225
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Date.cpp?cvsroot=gnash&r1=1.9&r2=1.10

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.2224
retrieving revision 1.2225
diff -u -b -r1.2224 -r1.2225
--- ChangeLog   1 Feb 2007 23:18:21 -0000       1.2224
+++ ChangeLog   2 Feb 2007 01:27:22 -0000       1.2225
@@ -1,5 +1,10 @@
 2007-02-01 Martin Guy <address@hidden>
 
+       * server/asobj/Date.cpp: #if 0 out unused function stubs
+         and implement missing setDate method
+
+2007-02-01 Martin Guy <address@hidden>
+
        * server/asobj/{Date,Global,string}.cpp: Convert all assert()s that
          triggered by illegal number of args in runtime ActionScript
          to IF_VERBOSE_ASCODING_ERRORS() warnings with and keep going,

Index: server/asobj/Date.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Date.cpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- server/asobj/Date.cpp       2 Feb 2007 00:24:03 -0000       1.9
+++ server/asobj/Date.cpp       2 Feb 2007 01:27:22 -0000       1.10
@@ -656,7 +656,18 @@
                log_aserror(__FUNCTION__ " needs one argument");
            )
        } else {
-           log_msg("%s:unimplemented \n", __FUNCTION__);
+           double millitime = fn.arg(0).to_number();
+           date->obj.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->obj.Normalize();
        }
 
        fn.result->set_double(date->obj.getTime());
@@ -863,6 +874,8 @@
        fn.result->set_double(date->obj.getTime());
 }
 
+// If year is an integer between 0-99, setYear sets the year at 1900 + year;
+// otherwise, the year is the value of the year parameter.
 void date_setyear(const fn_call& fn) {
        date_as_object* date = ensure_date_object(fn.this_ptr);
 
@@ -873,6 +886,7 @@
            )
        } else {
            date->obj.year = (long int)(fn.arg(0).to_number());
+           if (date->obj.year < 100) date->obj.year += 1900;
            if (fn.nargs > 1) {
                IF_VERBOSE_ASCODING_ERRORS(
                    log_aserror(__FUNCTION__ " has more than two arguments");




reply via email to

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