#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'
};
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++) {
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;
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];