Ignore:
Timestamp:
Nov 7, 2002, 7:10:40 PM (23 years ago)
Author:
mjs
Message:
  • partial fix to 3073230 - JavaScript time calls do I/O by lastat()ing /etc/localtime
  • kjs/date_object.cpp: (mktimeUsingCF): Implementation of mktime using CF.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/kjs/date_object.cpp

    r2511 r2593  
    6767#define gmtime(x) gmtimeUsingCF(x)
    6868#define localtime(x) localtimeUsingCF(x)
     69#define mktime(x) mktimeUsingCF(x)
    6970
    7071struct tm *tmUsingCF(time_t tv, CFTimeZoneRef timeZone)
     
    111112    return result;
    112113}
     114
     115time_t mktimeUsingCF(struct tm *tm)
     116{
     117    CFTimeZoneRef timeZone = CFTimeZoneCopyDefault();
     118
     119    CFGregorianDate date;
     120    date.second = tm->tm_sec;
     121    date.minute = tm->tm_min;
     122    date.hour = tm->tm_hour;
     123    date.day = tm->tm_mday;
     124    date.month = tm->tm_mon + 1;
     125    date.year = tm->tm_year + 1900;
     126
     127    CFAbsoluteTime absoluteTime = CFGregorianDateGetAbsoluteTime(date, timeZone);
     128
     129    time_t result = (time_t) (absoluteTime + kCFAbsoluteTimeIntervalSince1970);
     130
     131    return result;
     132}
     133
     134
    113135
    114136#endif // APPLE_CHANGES
Note: See TracChangeset for help on using the changeset viewer.