aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorame <[email protected]>2024-04-05 17:34:39 -0500
committerame <[email protected]>2024-04-05 17:34:39 -0500
commitf5d49966a4faa3bfff25e7bdeb262c2d9853cd3a (patch)
tree25b83526a8c8b057cf9493542fb650ead921d9f3 /src
parent7e6d58c143e1f3b1384ca2e798825ff3ed9469ec (diff)
fix warnings
Diffstat (limited to 'src')
-rw-r--r--src/crypto.h7
-rw-r--r--src/hash/blake.c4
-rw-r--r--src/hash/cityhash.c4
-rw-r--r--src/hash/crc.c4
-rw-r--r--src/hash/farmhash.c2
-rw-r--r--src/hash/fasthash.c2
-rw-r--r--src/hash/fnv.c8
-rw-r--r--src/hash/loselose.c2
-rw-r--r--src/hash/md5.c12
-rw-r--r--src/hash/metrohash.c8
-rw-r--r--src/hash/sdbm.c4
-rw-r--r--src/hash/sha01.c16
-rw-r--r--src/hash/sha2-256.c50
-rw-r--r--src/hash/xxh.c2
-rw-r--r--src/util.c2
15 files changed, 77 insertions, 50 deletions
diff --git a/src/crypto.h b/src/crypto.h
index cf7f760..809470f 100644
--- a/src/crypto.h
+++ b/src/crypto.h
@@ -41,14 +41,15 @@ uint64_t rotr64(uint64_t, uint64_t);
#define common_hash_init_update(hashname) lua_common_hash_init_update(hashname, hashname)
#define lua_common_hash_init_update(hashname, luaname) lua_common_hash_init(hashname, luaname) lua_common_hash_update(hashname, luaname)
-#define lua_common_hash_init(hashname, luaname)\
+#define lua_common_hash_init(hashname, luaname) lua_common_hash_init_ni(hashname, luaname, hashname##_init())
+#define lua_common_hash_init_ni(hashname, luaname, initf)\
int l_##luaname##_init(lua_State* L){\
lua_newtable(L);\
int t = lua_gettop(L);\
\
struct hashname##_hash* a = (struct hashname##_hash*)lua_newuserdata(L, sizeof * a);\
int ud = lua_gettop(L);\
- *a = hashname##_init();\
+ *a = initf;\
\
luaI_tsetv(L, t, "ud", ud);\
luaI_tsetcf(L, t, "update", l_##luaname##_update);\
@@ -56,7 +57,7 @@ uint64_t rotr64(uint64_t, uint64_t);
\
lua_pushvalue(L, t);\
return 1;\
-}\
+}
#define lua_common_hash_init_warg(hashname, luaname, hcode, arg)\
int l_##luaname##_init(lua_State* L){\
diff --git a/src/hash/blake.c b/src/hash/blake.c
index b1df1f7..6fcdae9 100644
--- a/src/hash/blake.c
+++ b/src/hash/blake.c
@@ -210,7 +210,7 @@ void blake512(char *out, char *in, uint64_t inlen, enum blake512_v v){
}
for(int i = 0; i != (v==b512?8:6); i++){
- sprintf(out, "%s%016llx",out, (hash)[i]);
+ sprintf(out, "%s%016lx",out, (hash)[i]);
}
}
@@ -268,4 +268,4 @@ int l_blake384(lua_State* L){
lua_pushstring(L, digest);
return 1;
-} \ No newline at end of file
+}
diff --git a/src/hash/cityhash.c b/src/hash/cityhash.c
index f32453d..46bb1ed 100644
--- a/src/hash/cityhash.c
+++ b/src/hash/cityhash.c
@@ -411,7 +411,7 @@ int l_cityhash64(lua_State* L){
char digest[64];
uint64_t u = cityhash64(a, len);
- sprintf(digest,"%016llx",u);
+ sprintf(digest,"%016lx",u);
lua_pushstring(L, digest);
return 1;
}
@@ -424,7 +424,7 @@ int l_cityhash128(lua_State* L){
uint64_t u1, u2;
cityhash128(a, len, &u1, &u2);
- sprintf(digest,"%08llx%08llx",u1, u2);
+ sprintf(digest,"%08lx%08lx",u1, u2);
lua_pushstring(L, digest);
return 1;
}
diff --git a/src/hash/crc.c b/src/hash/crc.c
index 7d9c41f..71047cc 100644
--- a/src/hash/crc.c
+++ b/src/hash/crc.c
@@ -116,8 +116,8 @@ int l_crc32_final(lua_State* L){
struct crc32_hash* a = (struct crc32_hash*)lua_touserdata(L, -1);
uint32_t u = crc32_final(a);
- char digest[8];
- sprintf(digest,"%08lx",u);
+ char digest[32];
+ sprintf(digest,"%08x",u);
lua_pushstring(L, digest);
return 1;
}
diff --git a/src/hash/farmhash.c b/src/hash/farmhash.c
index 95047ee..e57aa4f 100644
--- a/src/hash/farmhash.c
+++ b/src/hash/farmhash.c
@@ -163,7 +163,7 @@ int l_farmhash64(lua_State* L){
char digest[64];
uint64_t u = farmhash64(a, len);
- sprintf(digest,"%016llx",u);
+ sprintf(digest,"%016lx",u);
lua_pushstring(L, digest);
return 1;
}
diff --git a/src/hash/fasthash.c b/src/hash/fasthash.c
index 993a22a..bef892b 100644
--- a/src/hash/fasthash.c
+++ b/src/hash/fasthash.c
@@ -62,7 +62,7 @@ int l_fasthash64(lua_State* L){
char digest[64];
uint64_t u = fasthash64(a, len, seed);
- sprintf(digest,"%016llx",u);
+ sprintf(digest,"%016lx",u);
lua_pushstring(L, digest);
return 1;
}
diff --git a/src/hash/fnv.c b/src/hash/fnv.c
index e0fc981..47af105 100644
--- a/src/hash/fnv.c
+++ b/src/hash/fnv.c
@@ -51,7 +51,7 @@ int l_fnv_##v##_final(lua_State* L){\
struct fnv_1_hash* a = (struct fnv_1_hash*)lua_touserdata(L, -1);\
uint64_t u = fnv_1_final(a);\
char digest[64];\
- sprintf(digest,"%16llx",u);\
+ sprintf(digest,"%16lx",u);\
lua_pushstring(L, digest);\
return 1;\
}
@@ -68,7 +68,7 @@ int l_fnv_0(lua_State* L){
char digest[64];
uint64_t u = fnv_1(a, len, v_0);
- sprintf(digest,"%16llx",u);
+ sprintf(digest,"%16lx",u);
lua_pushstring(L, digest);
return 1;
}
@@ -81,7 +81,7 @@ int l_fnv_1(lua_State* L){
char digest[64];
uint64_t u = fnv_1(a, len, v_1);
- sprintf(digest,"%16llx",u);
+ sprintf(digest,"%16lx",u);
lua_pushstring(L, digest);
return 1;
}
@@ -94,7 +94,7 @@ int l_fnv_a(lua_State* L){
char digest[64];
uint64_t u = fnv_1(a, len, v_a);
- sprintf(digest,"%16llx",u);
+ sprintf(digest,"%16lx",u);
lua_pushstring(L, digest);
return 1;
}
diff --git a/src/hash/loselose.c b/src/hash/loselose.c
index 55d3fc6..737fd2c 100644
--- a/src/hash/loselose.c
+++ b/src/hash/loselose.c
@@ -33,7 +33,7 @@ int l_loselose_final(lua_State* L){
struct loselose_hash* a = (struct loselose_hash*)lua_touserdata(L, -1);
uint64_t u = loselose_final(a);
char digest[64];
- sprintf(digest,"%08x",u);
+ sprintf(digest,"%08lx",u);
lua_pushstring(L, digest);
return 1;
}
diff --git a/src/hash/md5.c b/src/hash/md5.c
index a3f0831..5806b48 100644
--- a/src/hash/md5.c
+++ b/src/hash/md5.c
@@ -27,6 +27,14 @@ struct md5_hash md5_init(){
return a;
}
+
+struct md5_hash md5_init_l(lua_State* L){
+ struct md5_hash a = {.a0 = 0x67452301, .b0 = 0xefcdab89, .c0 = 0x98badcfe, .d0 = 0x10325476, .total = 0, .bufflen = 0};
+ a.buffer = lua_newuserdata(L, sizeof * a.buffer * bs);
+ memset(a.buffer, 0, bs);
+ return a;
+}
+
void md5_round(struct md5_hash* hash){
uint32_t* M = (uint32_t *)(hash->buffer);
@@ -116,7 +124,9 @@ void md5_final(struct md5_hash* hash, char out_stream[64]){
((uint8_t*)&hash->d0)[0], ((uint8_t*)&hash->d0)[1], ((uint8_t*)&hash->d0)[2], ((uint8_t*)&hash->d0)[3]);
}
-common_hash_init_update(md5);
+lua_common_hash_init_ni(md5, md5, md5_init_l(L));
+lua_common_hash_update(md5, md5);
+//common_hash_init_update(md5);
int l_md5_final(lua_State* L){
lua_pushstring(L, "ud");
diff --git a/src/hash/metrohash.c b/src/hash/metrohash.c
index f473b95..e015ff0 100644
--- a/src/hash/metrohash.c
+++ b/src/hash/metrohash.c
@@ -169,7 +169,7 @@ int l_metrohash64_v1(lua_State* L){
char digest[64];
uint64_t u = metrohash64(a, len, seed, v1);
- sprintf(digest,"%016llx",u);
+ sprintf(digest,"%016lx",u);
lua_pushstring(L, digest);
return 1;
}
@@ -184,7 +184,7 @@ int l_metrohash64_v2(lua_State* L){
char digest[64];
uint64_t u = metrohash64(a, len, seed, v2);
- sprintf(digest,"%016llx",u);
+ sprintf(digest,"%016lx",u);
lua_pushstring(L, digest);
return 1;
}
@@ -200,7 +200,7 @@ int l_metrohash128_v1(lua_State* L){
uint64_t u1, u2;
metrohash128(a, len, seed, &u1, &u2, v1);
- sprintf(digest,"%016llx%016llx",u1,u2);
+ sprintf(digest,"%016lx%016lx",u1,u2);
lua_pushstring(L, digest);
return 1;
}
@@ -216,7 +216,7 @@ int l_metrohash128_v2(lua_State* L){
uint64_t u1, u2;
metrohash128(a, len, seed, &u1, &u2, v2);
- sprintf(digest,"%016llx%016llx",u1,u2);
+ sprintf(digest,"%016lx%016lx",u1,u2);
lua_pushstring(L, digest);
return 1;
}
diff --git a/src/hash/sdbm.c b/src/hash/sdbm.c
index bc5f0d9..6c8e437 100644
--- a/src/hash/sdbm.c
+++ b/src/hash/sdbm.c
@@ -32,7 +32,7 @@ int l_sdbm_final(lua_State* L){
struct sdbm_hash* a = (struct sdbm_hash*)lua_touserdata(L, -1);
uint64_t u = sdbm_final(a);
char digest[64];
- sprintf(digest,"%016llx",u);
+ sprintf(digest,"%016lx",u);
lua_pushstring(L, digest);
return 1;
}
@@ -45,7 +45,7 @@ int l_sdbm(lua_State* L){
char digest[64];
uint64_t u = sdbm(a, len);
- sprintf(digest,"%016llx",u);
+ sprintf(digest,"%016lx",u);
lua_pushstring(L, digest);
return 1;
}
diff --git a/src/hash/sha01.c b/src/hash/sha01.c
index 72932ff..243dd4f 100644
--- a/src/hash/sha01.c
+++ b/src/hash/sha01.c
@@ -23,6 +23,14 @@ struct sha01_hash sha01_init(uint8_t ver){
return a;
}
+struct sha01_hash sha01_init_l(uint8_t ver, lua_State* L){
+ struct sha01_hash a = {.h0 = 0x67452301, .h1 = 0xEFCDAB89, .h2 = 0x98BADCFE, .h3 = 0x10325476, .h4 = 0xC3D2E1F0,
+ .total = 0, .bufflen = 0, .version = ver};
+ a.buffer = lua_newuserdata(L, sizeof * a.buffer * bs);
+ memset(a.buffer, 0, bs);
+ return a;
+}
+
void sha01_round(struct sha01_hash* hash){
int hat = 0;
uint32_t W[80] = {0};
@@ -118,7 +126,6 @@ void sha01_final(struct sha01_hash* hash, char* out_stream){
sha01_round(hash);
sprintf(out_stream,"%02x%02x%02x%02x%02x",hash->h0,hash->h1,hash->h2,hash->h3,hash->h4);
- free(hash->buffer);
}
struct sha01_hash sha0_init(){
@@ -157,8 +164,11 @@ void sha1(uint8_t* a, size_t len, char* out_stream){
sha1_final(&aa, out_stream);
}
-common_hash_init_update(sha1);
-common_hash_init_update(sha0);
+lua_common_hash_init_ni(sha1, sha1, sha01_init_l(1, L));
+lua_common_hash_update(sha1, sha1);
+
+lua_common_hash_init_ni(sha0, sha0, sha01_init_l(0, L));
+lua_common_hash_update(sha0, sha0);
int l_sha1_final(lua_State* L){
lua_pushstring(L, "ud");
diff --git a/src/hash/sha2-256.c b/src/hash/sha2-256.c
index 972874f..99cdf64 100644
--- a/src/hash/sha2-256.c
+++ b/src/hash/sha2-256.c
@@ -108,6 +108,14 @@ struct sha512_hash sha512_t_init(struct iv sha_iv){
return a;
}
+struct sha512_hash sha512_t_init_l(struct iv sha_iv, lua_State* L){
+ struct sha512_hash a = {.h0 = sha_iv.h0, .h1 = sha_iv.h1, .h2 = sha_iv.h2, .h3 = sha_iv.h3, .h4 = sha_iv.h4, .h5 = sha_iv.h5, .h6 = sha_iv.h6, .h7 = sha_iv.h7,
+ .total = 0, .bufflen = 0};
+ a.buffer = lua_newuserdata(L, sizeof * a.buffer * bs);
+ memset(a.buffer, 0, bs);
+ return a;
+}
+
struct sha512_hash sha512_init(){
return sha512_t_init(sha512_iv);
}
@@ -162,29 +170,25 @@ void _sha512_t_final(struct sha512_hash* hash){
void sha512_final(struct sha512_hash* hash, char* out_stream){
_sha512_t_final(hash);
- sprintf((char*)out_stream, "%s%016llx", out_stream, hash->h0);
- sprintf((char*)out_stream, "%s%016llx", out_stream, hash->h1);
- sprintf((char*)out_stream, "%s%016llx", out_stream, hash->h2);
- sprintf((char*)out_stream, "%s%016llx", out_stream, hash->h3);
- sprintf((char*)out_stream, "%s%016llx", out_stream, hash->h4);
- sprintf((char*)out_stream, "%s%016llx", out_stream, hash->h5);
- sprintf((char*)out_stream, "%s%016llx", out_stream, hash->h6);
- sprintf((char*)out_stream, "%s%016llx", out_stream, hash->h7);
-
- free(hash->buffer);
+ sprintf((char*)out_stream, "%s%016lx", out_stream, hash->h0);
+ sprintf((char*)out_stream, "%s%016lx", out_stream, hash->h1);
+ sprintf((char*)out_stream, "%s%016lx", out_stream, hash->h2);
+ sprintf((char*)out_stream, "%s%016lx", out_stream, hash->h3);
+ sprintf((char*)out_stream, "%s%016lx", out_stream, hash->h4);
+ sprintf((char*)out_stream, "%s%016lx", out_stream, hash->h5);
+ sprintf((char*)out_stream, "%s%016lx", out_stream, hash->h6);
+ sprintf((char*)out_stream, "%s%016lx", out_stream, hash->h7);
}
void sha384_final(struct sha512_hash* hash, char* out_stream){
_sha512_t_final(hash);
- sprintf((char*)out_stream, "%s%016llx", out_stream, hash->h0);
- sprintf((char*)out_stream, "%s%016llx", out_stream, hash->h1);
- sprintf((char*)out_stream, "%s%016llx", out_stream, hash->h2);
- sprintf((char*)out_stream, "%s%016llx", out_stream, hash->h3);
- sprintf((char*)out_stream, "%s%016llx", out_stream, hash->h4);
- sprintf((char*)out_stream, "%s%016llx", out_stream, hash->h5);
-
- free(hash->buffer);
+ sprintf((char*)out_stream, "%s%016lx", out_stream, hash->h0);
+ sprintf((char*)out_stream, "%s%016lx", out_stream, hash->h1);
+ sprintf((char*)out_stream, "%s%016lx", out_stream, hash->h2);
+ sprintf((char*)out_stream, "%s%016lx", out_stream, hash->h3);
+ sprintf((char*)out_stream, "%s%016lx", out_stream, hash->h4);
+ sprintf((char*)out_stream, "%s%016lx", out_stream, hash->h5);
}
void sha512(uint8_t* in, size_t len, char* out){
@@ -215,11 +219,12 @@ struct iv sha_iv_gen(int i){
sprintf((char*)in, "SHA-512/%i",i);
struct sha512_hash a = sha512_t_init(oh);
sha512_update(in, strlen((char*)in), &a);
- sha512_final(&a, nh);
+ sha512_final(&a, (char*)nh);
return (struct iv){.h0 = a.h0, .h1 = a.h1, .h2 = a.h2, .h3 = a.h3, .h4 = a.h4, .h5 = a.h5, .h6 = a.h6, .h7 = a.h7};
}
-common_hash_init_update(sha512);
+lua_common_hash_init_ni(sha512, sha512, sha512_t_init_l(sha512_iv, L));
+lua_common_hash_update(sha512, sha512);
int l_sha512_final(lua_State* L){
lua_pushstring(L, "ud");
@@ -234,7 +239,8 @@ int l_sha512_final(lua_State* L){
return 1;
}
-common_hash_init_update(sha384);
+lua_common_hash_init_ni(sha384, sha384, sha512_t_init_l(sha384_iv, L));
+lua_common_hash_update(sha384, sha384);
int l_sha384_final(lua_State* L){
lua_pushstring(L, "ud");
@@ -256,7 +262,7 @@ int l_sha512_t_init(lua_State* L){
struct sha512_hash* a = (struct sha512_hash*)lua_newuserdata(L, sizeof * a);\
int ud = lua_gettop(L);
- *a = sha512_t_init(sha_iv_gen(tt));
+ *a = sha512_t_init_l(sha_iv_gen(tt), L);
a->t = tt;
luaI_tsetv(L, t, "ud", ud);
diff --git a/src/hash/xxh.c b/src/hash/xxh.c
index deb9709..24495c4 100644
--- a/src/hash/xxh.c
+++ b/src/hash/xxh.c
@@ -129,7 +129,7 @@ int l_xxh64(lua_State* L){
char digest[64];
uint64_t u = i_xxhash64(a, seed, len);
- sprintf(digest,"%016llx",u);
+ sprintf(digest,"%016lx",u);
lua_pushstring(L, digest);
return 1;
diff --git a/src/util.c b/src/util.c
index f8ab836..b63ca6e 100644
--- a/src/util.c
+++ b/src/util.c
@@ -59,7 +59,7 @@ char* strnstr(const char *s1, const char *s2, size_t n) {
void _p_fatal(const char* m, int line, const char* file, const char* function){
fprintf(stderr, "%s[fatal] %s \n"
- "\tthread: %i/%i\n"
+ "\tthread: %zu/%zu\n"
"\tat: %s:%s(%i) %s\n",color_red, m, pthread_self(), threads, file, function, line, color_reset);
exit(EXIT_FAILURE);
}