libs/nixio: cancel pending alarm after successfully returning from getnameinfo()
[project/luci.git] / libs / nixio / src / binary.c
index 72425b1..2c41622 100644 (file)
@@ -19,7 +19,7 @@
 #include "nixio.h"
 #include <stdlib.h>
 
-static char nixio__bin2hex[] = {
+const char nixio__bin2hex[16] = {
 '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'
 };
 
@@ -97,7 +97,7 @@ static const uint32_t nixio__crc32_tbl[] = {
 static int nixio_bin_crc32(lua_State *L) {
        size_t len;
        const char *buffer = luaL_checklstring(L, 1, &len);
-       uint32_t value = luaL_optnumber(L, 2, 0);
+       uint32_t value = luaL_optinteger(L, 2, 0);
 
        value = ~value;
        for (size_t i=0; i<len; i++) {
@@ -192,7 +192,7 @@ static int nixio_bin_unhexlify(lua_State *L) {
 
 static int nixio_bin_b64encode(lua_State *L) {
        size_t len, lenout, pad, i;
-       const char *data = luaL_checklstring(L, 1, &len);
+       const uint8_t *data = (const uint8_t*)luaL_checklstring(L, 1, &len);
 
        lenout = len / 3;
        lenout *= 4;
@@ -213,7 +213,7 @@ static int nixio_bin_b64encode(lua_State *L) {
                return luaL_error(L, NIXIO_OOM);
        }
 
-       char *o = out;
+       uint8_t *o = (uint8_t*)out;
        for (i = 0; i < len; i += 3) {
                uint32_t cv = (data[i] << 16) | (data[i+1] << 8) | data[i+2];
                *(o+3) = nixio__b64encode_tbl[ cv        & 0x3f];