From 03617b9a8cede011d5dbd7009bf7dab00ba67806 Mon Sep 17 00:00:00 2001 From: Thibault Charbonnier Date: Sat, 7 Nov 2015 01:53:33 -0800 Subject: feat: made the module return a function - also add lua lib path to the .so creation to ensure compilation (generally lua header files are not in the standrard compiler's search paths) - remove boilerplate - bare minimum of tests additions --- lua_uuid.c | 28 +++++++--------------------- 1 file changed, 7 insertions(+), 21 deletions(-) (limited to 'lua_uuid.c') diff --git a/lua_uuid.c b/lua_uuid.c index e0eca64..94d76b1 100644 --- a/lua_uuid.c +++ b/lua_uuid.c @@ -1,42 +1,28 @@ /*** -Utility for generating UUIDs +Utility for generating UUIDs by wrapping libuuid's generate(). @license MIT @module lua_uuid */ -#define LUA_LIB #include #include #include -#if LUA_VERSION_NUM < 502 -# define luaL_newlib(L,l) (lua_newtable(L), luaL_register(L,NULL,l)) -# define lua_rawlen lua_objlen -#endif - -/// Generate an UUID +/// Generate a UUID // @return uuid_str // @function generate() static int generate(lua_State *L) { - - // Generate UUID uuid_t uuid; - uuid_generate(uuid); + char uuid_str[37]; - // Unparse to a string - char uuid_str[37]; // For example: "1b4e28ba-2fa1-11d2-883f-0016d3cca427" + "\0" + uuid_generate(uuid); uuid_unparse_lower(uuid, uuid_str); lua_pushstring(L, uuid_str); return 1; } -static const luaL_Reg lua_uuid[] = { - {"generate", generate}, - {NULL, NULL} -}; - -int luaopen_lua_uuid(lua_State *L){ - luaL_newlib(L, lua_uuid); +int luaopen_lua_uuid(lua_State *L) { + lua_pushcfunction(L, generate); return 1; -} \ No newline at end of file +} -- cgit v1.2.3-54-g00ecf