mirror of
https://github.com/Rockbox/rockbox.git
synced 2026-01-22 01:30:35 -05:00
lua -- remove direct rb-> libc calls infavor of macro substitution WIP
there are no functional changes in this patch it just makes it easier to build lua in core app or plugin form -Update moved some things around messing up compilation on Native targets due to *errno Change-Id: I0921df62d72a87516ad95c68e986b5931c35345e
This commit is contained in:
parent
ded29fd751
commit
032a38df4e
12 changed files with 109 additions and 55 deletions
|
|
@ -25,10 +25,10 @@
|
|||
|
||||
#include "lauxlib.h"
|
||||
|
||||
#include "rocklibc.h" /* ROCKLUA ADDED */
|
||||
|
||||
#define FREELIST_REF 0 /* free list of references */
|
||||
|
||||
|
||||
/* convert a stack index to positive */
|
||||
#define abs_index(L, i) ((i) > 0 || (i) <= LUA_REGISTRYINDEX ? (i) : \
|
||||
lua_gettop(L) + (i) + 1)
|
||||
|
|
@ -701,7 +701,7 @@ static const char *getF (lua_State *L, void *ud, size_t *size) {
|
|||
*size = 1;
|
||||
return "\n";
|
||||
}
|
||||
*size = rb->read(lf->f, lf->buff, LUAL_BUFFERSIZE);
|
||||
*size = read(lf->f, lf->buff, LUAL_BUFFERSIZE);
|
||||
return (*size > 0) ? lf->buff : NULL;
|
||||
}
|
||||
|
||||
|
|
@ -719,11 +719,11 @@ LUALIB_API int luaL_loadfile (lua_State *L, const char *filename) {
|
|||
int status;
|
||||
int fnameindex = lua_gettop(L) + 1; /* index of filename on the stack */
|
||||
lf.extraline = 0;
|
||||
lf.f = rb->open(filename, O_RDONLY);
|
||||
lf.f = open(filename, O_RDONLY);
|
||||
lua_pushfstring(L, "@%s", filename);
|
||||
if (lf.f < 0) return errfile(L, "open", fnameindex);
|
||||
status = lua_load(L, getF, &lf, lua_tostring(L, -1));
|
||||
rb->close(lf.f);
|
||||
close(lf.f);
|
||||
lua_remove(L, fnameindex);
|
||||
return status;
|
||||
}
|
||||
|
|
@ -794,7 +794,7 @@ static void *l_alloc (void *ud, void *ptr, size_t osize, size_t nsize) {
|
|||
static int panic (lua_State *L) {
|
||||
DEBUGF("PANIC: unprotected error in call to Lua API (%s)\n",
|
||||
lua_tostring(L, -1));
|
||||
rb->splashf(5 * HZ, "PANIC: unprotected error in call to Lua API (%s)",
|
||||
splashf(5 * HZ, "PANIC: unprotected error in call to Lua API (%s)",
|
||||
lua_tostring(L, -1));
|
||||
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "rocklibc.h" /* ROCKLUA ADDED */
|
||||
#define liolib_c
|
||||
#define LUA_LIB
|
||||
|
||||
|
|
@ -16,8 +16,8 @@
|
|||
|
||||
#include "lauxlib.h"
|
||||
#include "lualib.h"
|
||||
#include "rocklibc.h"
|
||||
#include "rocklib.h"
|
||||
|
||||
#include "rocklib.h" /* ROCKLUA ADDED */
|
||||
|
||||
#include "llimits.h"
|
||||
|
||||
|
|
@ -96,7 +96,7 @@ static int* newfile (lua_State *L) {
|
|||
*/
|
||||
static int io_fclose (lua_State *L) {
|
||||
int *p = tofile(L);
|
||||
int ok = (rb->close(*p) == 0);
|
||||
int ok = (close(*p) == 0);
|
||||
*p = -1;
|
||||
return pushresult(L, ok, NULL);
|
||||
}
|
||||
|
|
@ -165,7 +165,7 @@ static int io_open (lua_State *L) {
|
|||
|
||||
flags |= wrmode;
|
||||
|
||||
*pf = rb->open(filename, flags, 0666);
|
||||
*pf = open(filename, flags, 0666);
|
||||
return (*pf < 0) ? pushresult(L, 0, filename) : 1;
|
||||
}
|
||||
|
||||
|
|
@ -185,7 +185,7 @@ static int g_iofile (lua_State *L, int f, int flags) {
|
|||
const char *filename = lua_tostring(L, 1);
|
||||
if (filename) {
|
||||
int *pf = newfile(L);
|
||||
*pf = rb->open(filename, flags);
|
||||
*pf = open(filename, flags);
|
||||
if (*pf < 0)
|
||||
fileerror(L, 1, filename);
|
||||
}
|
||||
|
|
@ -237,7 +237,7 @@ static int io_lines (lua_State *L) {
|
|||
else {
|
||||
const char *filename = luaL_checkstring(L, 1);
|
||||
int *pf = newfile(L);
|
||||
*pf = rb->open(filename, O_RDONLY);
|
||||
*pf = open(filename, O_RDONLY);
|
||||
if (*pf < 0)
|
||||
fileerror(L, 1, filename);
|
||||
aux_lines(L, lua_gettop(L), 1);
|
||||
|
|
@ -266,9 +266,9 @@ static int read_number (lua_State *L, int *f) {
|
|||
|
||||
|
||||
static int test_eof (lua_State *L, int *f) {
|
||||
off_t s = rb->lseek(*f, 0, SEEK_CUR);
|
||||
off_t s = lseek(*f, 0, SEEK_CUR);
|
||||
lua_pushlstring(L, NULL, 0);
|
||||
return s < rb->filesize(*f);
|
||||
return s < filesize(*f);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -279,7 +279,7 @@ static int _read_line (lua_State *L, int *f) {
|
|||
for (;;) {
|
||||
size_t l;
|
||||
char *p = luaL_prepbuffer(&b);
|
||||
off_t r = rb->read_line(*f, p, LUAL_BUFFERSIZE); /* does not include `eol' */
|
||||
off_t r = read_line(*f, p, LUAL_BUFFERSIZE); /* does not include `eol' */
|
||||
if (r <= 0) { /* eof? */
|
||||
luaL_pushresult(&b); /* close buffer */
|
||||
return (lua_objlen(L, -1) > 0); /* check whether read something */
|
||||
|
|
@ -304,7 +304,7 @@ static int read_chars (lua_State *L, int *f, size_t n) {
|
|||
do {
|
||||
char *p = luaL_prepbuffer(&b);
|
||||
if (rlen > n) rlen = n; /* cannot read more than asked */
|
||||
nr = rb->read(*f, p, rlen);
|
||||
nr = read(*f, p, rlen);
|
||||
if (nr < 0)
|
||||
luaL_error(L, "error reading file");
|
||||
luaL_addsize(&b, nr);
|
||||
|
|
@ -396,12 +396,12 @@ static int g_write (lua_State *L, int *f, int arg) {
|
|||
if (lua_type(L, arg) == LUA_TNUMBER) {
|
||||
/* optimization: could be done exactly as for strings */
|
||||
status = status &&
|
||||
rb->fdprintf(*f, LUA_NUMBER_FMT, lua_tonumber(L, arg)) > 0;
|
||||
fdprintf(*f, LUA_NUMBER_FMT, lua_tonumber(L, arg)) > 0;
|
||||
}
|
||||
else {
|
||||
size_t l;
|
||||
const char *s = luaL_checklstring(L, arg, &l);
|
||||
status = status && (rb->write(*f, s, l) == (ssize_t)l);
|
||||
status = status && (write(*f, s, l) == (ssize_t)l);
|
||||
}
|
||||
}
|
||||
return pushresult(L, status, NULL);
|
||||
|
|
@ -424,7 +424,7 @@ static int f_seek (lua_State *L) {
|
|||
int *f = tofile(L);
|
||||
int op = luaL_checkoption(L, 2, "cur", modenames);
|
||||
long offset = luaL_optlong(L, 3, 0);
|
||||
off_t size = rb->lseek(*f, offset, mode[op]);
|
||||
off_t size = lseek(*f, offset, mode[op]);
|
||||
if (size < 0 || size > MAX_INT) /* signed limit */
|
||||
return pushresult(L, 0, NULL); /* error */
|
||||
else {
|
||||
|
|
|
|||
|
|
@ -191,7 +191,7 @@ static int math_max (lua_State *L) {
|
|||
|
||||
static int math_random (lua_State *L) {
|
||||
/* We're not SunOS */
|
||||
lua_Number r = (lua_Number)(rb->rand());
|
||||
lua_Number r = (lua_Number)(rand());
|
||||
switch (lua_gettop(L)) { /* check number of arguments */
|
||||
case 0: { /* no arguments */
|
||||
lua_pushnumber(L, r); /* Number between 0 and RAND_MAX */
|
||||
|
|
@ -217,7 +217,7 @@ static int math_random (lua_State *L) {
|
|||
|
||||
|
||||
static int math_randomseed (lua_State *L) {
|
||||
rb->srand(luaL_checkint(L, 1));
|
||||
srand(luaL_checkint(L, 1));
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -34,9 +34,9 @@
|
|||
|
||||
|
||||
static int readable (const char *filename) {
|
||||
int f = rb->open(filename, O_RDONLY); /* try to open file */
|
||||
int f = open(filename, O_RDONLY); /* try to open file */
|
||||
if (f < 0) return 0; /* open failed */
|
||||
rb->close(f);
|
||||
close(f);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
#include "lauxlib.h"
|
||||
#include "lualib.h"
|
||||
|
||||
#include "rocklibc.h" /* ROCKLUA ADDED */
|
||||
|
||||
static int os_pushresult (lua_State *L, int i, const char *filename) {
|
||||
int en = errno; /* calls to Lua API may change this value */
|
||||
|
|
@ -36,14 +36,14 @@ static int os_pushresult (lua_State *L, int i, const char *filename) {
|
|||
|
||||
static int os_remove (lua_State *L) {
|
||||
const char *filename = luaL_checkstring(L, 1);
|
||||
return os_pushresult(L, rb->remove(filename) == 0, filename);
|
||||
return os_pushresult(L, remove(filename) == 0, filename);
|
||||
}
|
||||
|
||||
|
||||
static int os_rename (lua_State *L) {
|
||||
const char *fromname = luaL_checkstring(L, 1);
|
||||
const char *toname = luaL_checkstring(L, 2);
|
||||
return os_pushresult(L, rb->rename(fromname, toname) == 0, fromname);
|
||||
return os_pushresult(L, rename(fromname, toname) == 0, fromname);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -37,13 +37,13 @@ typedef struct dir_data {
|
|||
|
||||
static int make_dir (lua_State *L) {
|
||||
const char *path = luaL_checkstring (L, 1);
|
||||
lua_pushboolean (L, !rb->mkdir(path));
|
||||
lua_pushboolean (L, !mkdir(path));
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int remove_dir (lua_State *L) {
|
||||
const char *path = luaL_checkstring (L, 1);
|
||||
lua_pushboolean (L, !rb->rmdir (path));
|
||||
lua_pushboolean (L, !rmdir (path));
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
@ -57,8 +57,8 @@ static int dir_iter (lua_State *L) {
|
|||
|
||||
luaL_argcheck (L, !d->closed, 1, "closed directory");
|
||||
|
||||
if ((entry = rb->readdir (d->dir)) != NULL) {
|
||||
struct dirinfo info = rb->dir_get_info(d->dir, entry);
|
||||
if ((entry = readdir (d->dir)) != NULL) {
|
||||
struct dirinfo info = dir_get_info(d->dir, entry);
|
||||
lua_pushstring (L, entry->d_name);
|
||||
lua_pushboolean (L, info.attribute & ATTR_DIRECTORY);
|
||||
if (lua_toboolean (L, lua_upvalueindex(1))) {
|
||||
|
|
@ -77,7 +77,7 @@ static int dir_iter (lua_State *L) {
|
|||
return 3;
|
||||
} else {
|
||||
/* no more entries => close directory */
|
||||
rb->closedir (d->dir);
|
||||
closedir (d->dir);
|
||||
d->closed = 1;
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -91,7 +91,7 @@ static int dir_close (lua_State *L) {
|
|||
dir_data *d = (dir_data *)lua_touserdata (L, 1);
|
||||
|
||||
if (!d->closed && d->dir) {
|
||||
rb->closedir (d->dir);
|
||||
closedir (d->dir);
|
||||
d->closed = 1;
|
||||
}
|
||||
return 0;
|
||||
|
|
@ -111,7 +111,7 @@ static int dir_iter_factory (lua_State *L) {
|
|||
|
||||
luaL_getmetatable (L, DIR_METATABLE);
|
||||
lua_setmetatable (L, -2);
|
||||
d->dir = rb->opendir (path);
|
||||
d->dir = opendir (path);
|
||||
if (d->dir == NULL)
|
||||
{
|
||||
luaL_error (L, "cannot open %s: %d", path, errno);
|
||||
|
|
|
|||
|
|
@ -21,10 +21,22 @@
|
|||
*
|
||||
****************************************************************************/
|
||||
|
||||
#include "plugin.h"
|
||||
#define _ROCKCONF_H_ /* Protect against unwanted include */
|
||||
#include "lua.h"
|
||||
#include "rocklibc.h" /* ROCKLUA ADDED */
|
||||
|
||||
#ifdef PLUGIN
|
||||
#include "plugin.h"
|
||||
#include "lib/pluginlib_actions.h"
|
||||
#define lcd_getstringsize rb->lcd_getstringsize
|
||||
#define lcd_clear_display rb->lcd_clear_display
|
||||
#define lcd_putsxy rb->lcd_putsxy
|
||||
#define lcd_update rb->lcd_update
|
||||
#define beep_play rb->beep_play
|
||||
#define get_action rb->get_action
|
||||
#if 0 /* ndef _WIN32 -- supplied by strfrtime.lua */
|
||||
#define gmtime_r rb->gmtime_r
|
||||
#endif
|
||||
#endif /* def PLUGIN*/
|
||||
|
||||
extern const char *strpbrk_n(const char *s, int smax, const char *accept);
|
||||
|
||||
|
|
@ -54,7 +66,7 @@ int splash_scroller(int timeout, const char* str)
|
|||
if (!str)
|
||||
str = "[nil]";
|
||||
int w, ch_w, ch_h;
|
||||
rb->lcd_getstringsize("W", &ch_w, &ch_h);
|
||||
lcd_getstringsize("W", &ch_w, &ch_h);
|
||||
|
||||
const int max_w = LCD_WIDTH - (ch_w * 2);
|
||||
const int max_lines = LCD_HEIGHT / ch_h - 1;
|
||||
|
|
@ -74,7 +86,7 @@ int splash_scroller(int timeout, const char* str)
|
|||
while (cycles > 0)
|
||||
{
|
||||
/* walk whole buffer every refresh, only display relevant portion */
|
||||
rb->lcd_clear_display();
|
||||
lcd_clear_display();
|
||||
curline = 0;
|
||||
linepos = 0;
|
||||
linesdisp = 0;
|
||||
|
|
@ -89,7 +101,7 @@ int splash_scroller(int timeout, const char* str)
|
|||
else if (ch[0] == '\b' && timeout > 0)
|
||||
{
|
||||
line[linepos] = ' ';
|
||||
rb->beep_play(1000, HZ, 1000);
|
||||
beep_play(1000, HZ, 1000);
|
||||
}
|
||||
else if (ch[0] < ' ') /* Dont copy control characters */
|
||||
line[linepos] = (linepos == 0) ? '\0' : ' ';
|
||||
|
|
@ -97,7 +109,7 @@ int splash_scroller(int timeout, const char* str)
|
|||
line[linepos] = ch[0];
|
||||
|
||||
line[linepos + 1] = '\0'; /* terminate to check text extent */
|
||||
rb->lcd_getstringsize(line, &w, NULL);
|
||||
lcd_getstringsize(line, &w, NULL);
|
||||
|
||||
/* try to not split in middle of words */
|
||||
if (w + wrap_thresh >= max_w &&
|
||||
|
|
@ -124,7 +136,7 @@ int splash_scroller(int timeout, const char* str)
|
|||
realline = curline - firstline;
|
||||
if (realline >= 0 && realline < max_lines)
|
||||
{
|
||||
rb->lcd_putsxy(0, realline * ch_h, line);
|
||||
lcd_putsxy(0, realline * ch_h, line);
|
||||
linesdisp++;
|
||||
}
|
||||
linepos = 0;
|
||||
|
|
@ -134,10 +146,10 @@ int splash_scroller(int timeout, const char* str)
|
|||
linepos++;
|
||||
}
|
||||
|
||||
rb->lcd_update();
|
||||
lcd_update();
|
||||
if (timeout >= TIMEOUT_BLOCK)
|
||||
{
|
||||
action = rb->get_action(CONTEXT_STD, timeout);
|
||||
action = get_action(CONTEXT_STD, timeout);
|
||||
switch(action)
|
||||
{
|
||||
case ACTION_STD_OK:
|
||||
|
|
@ -198,14 +210,14 @@ long rb_pow(long x, long n)
|
|||
|
||||
int strcoll(const char * str1, const char * str2)
|
||||
{
|
||||
return rb->strcmp(str1, str2);
|
||||
return strcmp(str1, str2);
|
||||
}
|
||||
|
||||
#if 0 //ndef _WIN32 /* supplied by strfrtime.lua*/
|
||||
struct tm * gmtime(const time_t *timep)
|
||||
{
|
||||
static struct tm time;
|
||||
return rb->gmtime_r(timep, &time);
|
||||
return gmtime_r(timep, &time);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
@ -220,7 +232,7 @@ int get_current_path(lua_State *L, int level)
|
|||
lua_getinfo(L, "S", &ar);
|
||||
|
||||
const char* curfile = &ar.source[1];
|
||||
const char* pos = rb->strrchr(curfile, '/');
|
||||
const char* pos = strrchr(curfile, '/');
|
||||
if(pos != NULL)
|
||||
{
|
||||
lua_pushlstring (L, curfile, pos - curfile + 1);
|
||||
|
|
@ -250,7 +262,7 @@ int filetol(int fd, long *num)
|
|||
bool neg = false;
|
||||
long val;
|
||||
|
||||
while (rb->read(fd, &chbuf, 1) == 1)
|
||||
while (read(fd, &chbuf, 1) == 1)
|
||||
{
|
||||
if(retn || !isspace(chbuf))
|
||||
{
|
||||
|
|
@ -275,12 +287,12 @@ int filetol(int fd, long *num)
|
|||
}
|
||||
}
|
||||
|
||||
while (rb->read(fd, &chbuf, 1) == 1)
|
||||
while (read(fd, &chbuf, 1) == 1)
|
||||
{
|
||||
get_digits:
|
||||
if(!isdigit(chbuf))
|
||||
{
|
||||
rb->lseek(fd, -1, SEEK_CUR);
|
||||
lseek(fd, -1, SEEK_CUR);
|
||||
break;
|
||||
}
|
||||
else if (count < LUAI_MAXNUMBER2STR - 2)
|
||||
|
|
@ -290,7 +302,7 @@ get_digits:
|
|||
if(count)
|
||||
{
|
||||
buffer[count] = '\0';
|
||||
val = rb->strtol(buffer, NULL, 10);
|
||||
val = strtol(buffer, NULL, 10);
|
||||
*num = (neg)? -val:val;
|
||||
retn = 1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -70,5 +70,9 @@ int splash_scroller(int timeout, const char* str);
|
|||
#define mktime rb->mktime
|
||||
#define get_time rb->get_time
|
||||
|
||||
#define read_line(fd,buf,n) rb->read_line(fd,buf,n)
|
||||
#define fdprintf(...) rb->fdprintf(__VA_ARGS__)
|
||||
#define splashf(...) rb->splashf(__VA_ARGS__)
|
||||
#define rand() rb->rand()
|
||||
#define srand(i) rb->srand(i)
|
||||
#endif /* _ROCKCONF_H_ */
|
||||
|
||||
|
|
|
|||
|
|
@ -308,7 +308,7 @@ RB_WRAP(splash)
|
|||
{
|
||||
int timeout = luaL_checkint(L, 1);
|
||||
const char *str = luaL_checkstring(L, 2);
|
||||
rb->splashf(timeout, str); /*rockaux.c*/
|
||||
splashf(timeout, str); /*rockaux.c*/
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -26,6 +26,8 @@
|
|||
#include <ctype.h>
|
||||
#include "plugin.h"
|
||||
|
||||
#ifndef LUA_LIB
|
||||
|
||||
#if (CONFIG_PLATFORM & PLATFORM_HOSTED)
|
||||
#include <errno.h>
|
||||
#define PREFIX(_x_) sim_ ## _x_
|
||||
|
|
@ -35,14 +37,47 @@ extern int errno;
|
|||
#define ERANGE 34 /* Math result not representable */
|
||||
#define PREFIX
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define __likely LIKELY
|
||||
#define __unlikely UNLIKELY
|
||||
|
||||
#ifdef PLUGIN
|
||||
/* Simple substitutions */
|
||||
#define memcmp rb->memcmp
|
||||
#define strlen rb->strlen
|
||||
#define strrchr rb->strrchr
|
||||
|
||||
#define write(fd,buf,n) rb->write(fd,buf,n)
|
||||
#define read(fd,buf,n) rb->read(fd,buf,n)
|
||||
#define open(...) rb->open(__VA_ARGS__)
|
||||
#define close(fd) rb->close(fd)
|
||||
#define lseek(fd,off,w) rb->lseek(fd,off,w)
|
||||
#define filesize(fd) rb->filesize(fd)
|
||||
#define ftruncate(fd,l) rb->ftruncate(fd,l)
|
||||
#define file_exists(p) rb->file_exists(p)
|
||||
#define remove(f) rb->remove(f)
|
||||
#define rename(old,new) rb->rename(old,new)
|
||||
|
||||
#define mkdir(p) rb->mkdir(p)
|
||||
#define rmdir(p) rb->rmdir(p)
|
||||
#define opendir(p) rb->opendir(p)
|
||||
#define closedir(d) rb->closedir(d)
|
||||
#define readdir(d) rb->readdir(d)
|
||||
#define dir_get_info(d,e) rb->dir_get_info(d,e)
|
||||
|
||||
#else /*ndef PLUGIN*/
|
||||
#define write(fd,buf,n) PREFIX(write)(fd,buf,n)
|
||||
#define read(fd,buf,n) PREFIX(read)(fd,buf,n)
|
||||
#define open(...) PREFIX(open)(__VA_ARGS__)
|
||||
#define close(fd) PREFIX(close)(fd)
|
||||
#define lseek(fd,off,w) PREFIX(lseek)(fd,off,w)
|
||||
#define filesize(fd) PREFIX(filesize)(fd)
|
||||
#define ftruncate(fd,l) PREFIX(ftruncate)(fd,l)
|
||||
#define file_exists(p) PREFIX(file_exists)(p)
|
||||
#define remove(f) PREFIX(remove)(f)
|
||||
#define rename(old,new) PREFIX(rename)(old,new)
|
||||
|
||||
#endif /* def PLUGIN */
|
||||
#endif /* _ROCKLIBC_H_ */
|
||||
|
||||
|
|
|
|||
|
|
@ -238,7 +238,7 @@ static void display_traceback(const char *errstr)
|
|||
#if 1
|
||||
splash_scroller(HZ * 5, errstr); /*rockaux.c*/
|
||||
#else
|
||||
rb->splash(10 * HZ, errstr);
|
||||
splash(10 * HZ, errstr);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
@ -264,7 +264,7 @@ enum plugin_status plugin_start(const void* parameter)
|
|||
{
|
||||
if (!Ls)
|
||||
{
|
||||
rb->splash(HZ, "Play a .lua file!");
|
||||
splash(HZ, "Play a .lua file!");
|
||||
return browse_scripts();
|
||||
}
|
||||
}
|
||||
|
|
@ -285,7 +285,7 @@ enum plugin_status plugin_start(const void* parameter)
|
|||
if (lu_status) {
|
||||
DEBUGF("%s\n", lua_tostring(Ls, -1));
|
||||
display_traceback(lua_tostring(Ls, -1));
|
||||
//rb->splash(10 * HZ, lua_tostring(Ls, -1));
|
||||
//splash(10 * HZ, lua_tostring(Ls, -1));
|
||||
/*lua_pop(Ls, 1);*/
|
||||
}
|
||||
lua_close(Ls);
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
#include <sys/types.h>
|
||||
#include <time.h>
|
||||
#include "plugin.h"
|
||||
#ifdef PLUGIN
|
||||
#define mktime(t) rb->mktime(t)
|
||||
#endif
|
||||
|
||||
static const char sweekdays [7] [4] = {
|
||||
"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
|
||||
|
|
@ -85,7 +88,7 @@ again:
|
|||
case 'W': no = (tm->tm_yday - (tm->tm_wday - 1 + 7) % 7 + 7) / 7; goto _no;
|
||||
case 's': {
|
||||
#if CONFIG_RTC
|
||||
time_t t = rb->mktime((struct tm*)tm);
|
||||
time_t t = mktime((struct tm*)tm);
|
||||
char* c;
|
||||
sbuf[100]=0;
|
||||
for (c=sbuf+99; c>sbuf; --c) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue