summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilliam Wilgus <me.theuser@yahoo.com>2018-10-28 07:07:10 -0400
committerWilliam Wilgus <me.theuser@yahoo.com>2018-10-28 07:15:29 -0400
commit73f2bd9c4653498e029fcb857f43469910e886d4 (patch)
tree210eb365d070b710a444d432eb43f4f137913563
parent5449500a67e39a5c89f233b075589fd57111e177 (diff)
downloadrockbox-73f2bd9c4653498e029fcb857f43469910e886d4.tar.gz
rockbox-73f2bd9c4653498e029fcb857f43469910e886d4.zip
Lua remove gmtime.c use rb_plugin version instead
Change-Id: Ia6d47a13ec8ae407661a78c56513ac0c164216da
-rw-r--r--apps/plugins/lua/SOURCES1
-rw-r--r--apps/plugins/lua/gmtime.c58
-rw-r--r--apps/plugins/lua/rockaux.c6
3 files changed, 6 insertions, 59 deletions
diff --git a/apps/plugins/lua/SOURCES b/apps/plugins/lua/SOURCES
index 1c4dcc4a36..3fea681a50 100644
--- a/apps/plugins/lua/SOURCES
+++ b/apps/plugins/lua/SOURCES
@@ -31,7 +31,6 @@ rocklib.c
rocklib_img.c
tlsf_helper.c
fscanf.c
-gmtime.c
strcspn.c
strftime.c
strncat.c
diff --git a/apps/plugins/lua/gmtime.c b/apps/plugins/lua/gmtime.c
deleted file mode 100644
index 19ff3bc088..0000000000
--- a/apps/plugins/lua/gmtime.c
+++ /dev/null
@@ -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;
-}
diff --git a/apps/plugins/lua/rockaux.c b/apps/plugins/lua/rockaux.c
index b51364f718..ba3a37343b 100644
--- a/apps/plugins/lua/rockaux.c
+++ b/apps/plugins/lua/rockaux.c
@@ -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;