From 736fa98402202f74160e0bd7cfe7745e34b307ab Mon Sep 17 00:00:00 2001 From: Fabio Mascarenhas Date: Fri, 12 Apr 2013 17:05:40 -0300 Subject: compile rclauncher binary wrapper on windows on every build --- win32/bin/rclauncher.c | 174 ++++++++++++++++++++++++------------------------- 1 file changed, 87 insertions(+), 87 deletions(-) (limited to 'win32') diff --git a/win32/bin/rclauncher.c b/win32/bin/rclauncher.c index 60284638..77459f46 100644 --- a/win32/bin/rclauncher.c +++ b/win32/bin/rclauncher.c @@ -24,55 +24,55 @@ ** Assumes that the error message is on top of the stack. */ static int report (lua_State *L) { - fprintf (stderr, "lua: fatal error: `%s'\n", lua_tostring (L, -1)); - fflush (stderr); - printf ("Content-type: text/plain\n\nConfiguration fatal error: see error log!\n"); - printf ("%s", lua_tostring(L, -1)); - return 1; + fprintf (stderr, "lua: fatal error: `%s'\n", lua_tostring (L, -1)); + fflush (stderr); + printf ("Content-type: text/plain\n\nConfiguration fatal error: see error log!\n"); + printf ("%s", lua_tostring(L, -1)); + return 1; } static int runlua (lua_State *L, const char *lua_string, int argc, char *argv[]) { - int err_func; - int err; + int err_func; + int err; - lua_getglobal(L, "debug"); + lua_getglobal(L, "debug"); lua_pushliteral(L, "traceback"); lua_gettable(L, -2); - err_func = lua_gettop (L); - err = luaL_loadstring (L, lua_string); - if(!err) { - // fill global arg table - lua_getglobal(L, "arg"); - int i; - for(i = 1; i < argc; i++) - { - lua_pushstring(L, argv[i]); - lua_rawseti(L, -2, i); - } - lua_pop(L, 1); - // fill parameters (in vararg '...') - for(i = 1; i < argc; i++) - lua_pushstring(L, argv[i]); - return lua_pcall (L, argc - 1, LUA_MULTRET, err_func); - } else return err; + err_func = lua_gettop (L); + err = luaL_loadstring (L, lua_string); + if(!err) { + int i; + // fill global arg table + lua_getglobal(L, "arg"); + for(i = 1; i < argc; i++) + { + lua_pushstring(L, argv[i]); + lua_rawseti(L, -2, i); + } + lua_pop(L, 1); + // fill parameters (in vararg '...') + for(i = 1; i < argc; i++) + lua_pushstring(L, argv[i]); + return lua_pcall (L, argc - 1, LUA_MULTRET, err_func); + } else return err; } static DWORD GetModulePath( HINSTANCE hInst, LPTSTR pszBuffer, DWORD dwSize ) // -// Return the size of the path in bytes. +// Return the size of the path in bytes. { - DWORD dwLength = GetModuleFileName( hInst, pszBuffer, dwSize ); - if( dwLength ) - { - while( dwLength && pszBuffer[ dwLength ] != '.' ) - { - dwLength--; - } + DWORD dwLength = GetModuleFileName( hInst, pszBuffer, dwSize ); + if( dwLength ) + { + while( dwLength && pszBuffer[ dwLength ] != '.' ) + { + dwLength--; + } - if( dwLength ) - pszBuffer[ dwLength ] = '\000'; - } - return dwLength; + if( dwLength ) + pszBuffer[ dwLength ] = '\000'; + } + return dwLength; } @@ -80,60 +80,60 @@ static DWORD GetModulePath( HINSTANCE hInst, LPTSTR pszBuffer, DWORD dwSize ) ** MAIN */ int main (int argc, char *argv[]) { - char name[ MAX_PATH ]; - DWORD dwLength; - int size; - luaL_Buffer b; - int i; + char name[ MAX_PATH ]; + DWORD dwLength; + int size; + luaL_Buffer b; + int i; #ifdef UNICODE - TCHAR lua_wstring[4098]; + TCHAR lua_wstring[4098]; #endif - char lua_string[4098]; - lua_State *L = luaL_newstate(); - (void)argc; /* avoid "unused parameter" warning */ - luaL_openlibs(L); - lua_newtable(L); // create arg table - lua_pushstring(L, argv[0]); // add interpreter to arg table - lua_rawseti(L, -2, -1); - dwLength = GetModulePath( NULL, name, MAX_PATH ); - if(dwLength) { /* Optional bootstrap */ - strcat(name, ".lua"); - lua_pushstring(L, name); // add lua script to arg table - lua_rawseti(L, -2, 0); - lua_setglobal(L,"arg"); // set global arg table - if(!luaL_loadfile (L, name)) { - if(lua_pcall (L, 0, LUA_MULTRET, 0)) { - report (L); - lua_close (L); - return EXIT_FAILURE; - } - } - } - else - { - lua_pushstring(L, argv[0]); // no lua script, so add interpreter again, now as lua script - lua_rawseti(L, -2, 0); - lua_setglobal(L,"arg"); // set global arg table - } + char lua_string[4098]; + lua_State *L = luaL_newstate(); + (void)argc; /* avoid "unused parameter" warning */ + luaL_openlibs(L); + lua_newtable(L); // create arg table + lua_pushstring(L, argv[0]); // add interpreter to arg table + lua_rawseti(L, -2, -1); + dwLength = GetModulePath( NULL, name, MAX_PATH ); + if(dwLength) { /* Optional bootstrap */ + strcat(name, ".lua"); + lua_pushstring(L, name); // add lua script to arg table + lua_rawseti(L, -2, 0); + lua_setglobal(L,"arg"); // set global arg table + if(!luaL_loadfile (L, name)) { + if(lua_pcall (L, 0, LUA_MULTRET, 0)) { + report (L); + lua_close (L); + return EXIT_FAILURE; + } + } + } + else + { + lua_pushstring(L, argv[0]); // no lua script, so add interpreter again, now as lua script + lua_rawseti(L, -2, 0); + lua_setglobal(L,"arg"); // set global arg table + } - luaL_buffinit(L, &b); - for(i = 1; ; i++) { + luaL_buffinit(L, &b); + for(i = 1; ; i++) { #ifdef UNICODE - size = LoadString(GetModuleHandle(NULL), i, lua_wstring, - sizeof(lua_string)/sizeof(TCHAR)); - if(size > 0) wcstombs(lua_string, lua_wstring, size + 1); + size = LoadString(GetModuleHandle(NULL), i, lua_wstring, + sizeof(lua_string)/sizeof(TCHAR)); + if(size > 0) wcstombs(lua_string, lua_wstring, size + 1); #else - size = LoadString(GetModuleHandle(NULL), i, lua_string, - sizeof(lua_string)/sizeof(char)); + size = LoadString(GetModuleHandle(NULL), i, lua_string, + sizeof(lua_string)/sizeof(char)); #endif - if(size) luaL_addlstring(&b, lua_string, size); else break; - } - luaL_pushresult(&b); - if (runlua (L, lua_tostring(L, -1), argc, argv)) { - report (L); - lua_close (L); - return EXIT_FAILURE; - } - lua_close (L); - return EXIT_SUCCESS; + if(size) luaL_addlstring(&b, lua_string, size); else break; + } + luaL_pushresult(&b); + if (runlua (L, lua_tostring(L, -1), argc, argv)) { + report (L); + lua_close (L); + return EXIT_FAILURE; + } + lua_close (L); + return EXIT_SUCCESS; } -- cgit v1.2.3-55-g6feb