1
0
Fork 0
forked from len0rd/rockbox

Lua remove gmtime.c use rb_plugin version instead

Change-Id: Ia6d47a13ec8ae407661a78c56513ac0c164216da
This commit is contained in:
William Wilgus 2018-10-28 07:07:10 -04:00
parent 5449500a67
commit 73f2bd9c46
3 changed files with 6 additions and 59 deletions

View file

@ -31,7 +31,6 @@ rocklib.c
rocklib_img.c
tlsf_helper.c
fscanf.c
gmtime.c
strcspn.c
strftime.c
strncat.c

View file

@ -1,58 +0,0 @@
#include <time.h>
/* seconds per day */
#define SPD 24*60*60
/* days per month -- nonleap! */
static const short __spm[13] =
{ 0,
(31),
(31+28),
(31+28+31),
(31+28+31+30),
(31+28+31+30+31),
(31+28+31+30+31+30),
(31+28+31+30+31+30+31),
(31+28+31+30+31+30+31+31),
(31+28+31+30+31+30+31+31+30),
(31+28+31+30+31+30+31+31+30+31),
(31+28+31+30+31+30+31+31+30+31+30),
(31+28+31+30+31+30+31+31+30+31+30+31),
};
static inline int isleap(int year) {
/* every fourth year is a leap year except for century years that are
* not divisible by 400. */
/* return (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)); */
return (!(year%4) && ((year%100) || !(year%400)));
}
struct tm *gmtime(const time_t *timep) {
static struct tm r;
time_t i;
register time_t work=*timep%(SPD);
r.tm_sec=work%60; work/=60;
r.tm_min=work%60; r.tm_hour=work/60;
work=*timep/(SPD);
r.tm_wday=(4+work)%7;
for (i=1970; ; ++i) {
register time_t k=isleap(i)?366:365;
if (work>=k)
work-=k;
else
break;
}
r.tm_year=i-1900;
r.tm_yday=work;
r.tm_mday=1;
if (isleap(i) && (work>58)) {
if (work==59) r.tm_mday=2; /* 29.2. */
work-=1;
}
for (i=11; i && (__spm[i]>work); --i) ;
r.tm_mon=i;
r.tm_mday+=work-__spm[i];
return &r;
}

View file

@ -73,6 +73,12 @@ int strcoll(const char * str1, const char * str2)
return rb->strcmp(str1, str2);
}
struct tm * gmtime(const time_t *timep)
{
static struct tm time;
return rb->gmtime_r(timep, &time);
}
int get_current_path(lua_State *L, int level)
{
lua_Debug ar;