diff --git a/lualib-src/lua-crypt.c b/lualib-src/lua-crypt.c index 5322b2d6..7910d367 100644 --- a/lualib-src/lua-crypt.c +++ b/lualib-src/lua-crypt.c @@ -878,6 +878,25 @@ lb64decode(lua_State *L) { return 1; } +static int +lxor_str(lua_State *L) { + size_t len1,len2; + const char *s1 = luaL_checklstring(L,1,&len1); + const char *s2 = luaL_checklstring(L,2,&len2); + if (len2 == 0) { + return luaL_error(L, "Can't xor empty string"); + } + luaL_Buffer b; + char * buffer = luaL_buffinitsize(L, &b, len1); + int i; + for (i=0;i