48 lines
		
	
	
		
			994 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			994 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #include <stdio.h>
 | |
| #include <stdlib.h>
 | |
| #include <string.h>
 | |
| #include <stdarg.h>
 | |
| #include <lua.h>
 | |
| #include <lauxlib.h>
 | |
| #include <lualib.h>
 | |
| 
 | |
| void load(char *filename, char *width, char *height);
 | |
| void error (lua_State *L, const char *fmt, ...);
 | |
| 
 | |
| int main (void) {
 | |
| 	char width[100];
 | |
| 	char height[100];
 | |
| 	char *w = width;
 | |
| 	char *h = height;
 | |
| 	load("fake.txt", w, h);
 | |
| 	printf("Height: %s Width: %s\n",height, width);
 | |
|   return 0;
 | |
| }
 | |
| 
 | |
| void load(char *filename, char  *width, char *height){
 | |
| 
 | |
| 	lua_State *L = luaL_newstate();
 | |
| 	luaL_openlibs(L);
 | |
| 
 | |
| 	if (luaL_loadfile(L, filename) || lua_pcall(L, 0, 0, 0))
 | |
| 		error(L, "cannot run configuration file: %s",
 | |
| 				lua_tostring(L, -1));
 | |
| 
 | |
| 	lua_getglobal(L, "width");
 | |
| 	lua_getglobal(L, "height");
 | |
| 	
 | |
| 	strcpy(height, lua_tostring(L, -1));
 | |
| 	strcpy(width, lua_tostring(L, -2));
 | |
| 	
 | |
| 	lua_close(L);
 | |
| }
 | |
| 
 | |
| void error (lua_State *L, const char *fmt, ...) {
 | |
|   va_list argp;
 | |
|   va_start(argp, fmt);
 | |
|   vfprintf(stderr,fmt, argp);
 | |
|   va_end(argp);
 | |
|   lua_close(L);
 | |
|   exit(EXIT_FAILURE);
 | |
| }
 |