diff options
| author | ame <[email protected]> | 2024-04-06 16:50:38 -0500 |
|---|---|---|
| committer | ame <[email protected]> | 2024-04-06 16:50:38 -0500 |
| commit | 7fbafae25ca81e9acb745fd75ef7f1be55ad7d92 (patch) | |
| tree | 639c6d618b44f0ff2a4fcac9f557b906f37cbec3 /src/hash | |
| parent | b8c10dac99316974d142c530356ad5cd8fdf9afa (diff) | |
changed the add metamethod
Diffstat (limited to 'src/hash')
| -rw-r--r-- | src/hash/adler.c | 2 | ||||
| -rw-r--r-- | src/hash/bsdchecksum.c | 2 | ||||
| -rw-r--r-- | src/hash/crc.c | 4 | ||||
| -rw-r--r-- | src/hash/djb2.c | 2 | ||||
| -rw-r--r-- | src/hash/fletcher.c | 4 | ||||
| -rw-r--r-- | src/hash/fnv.c | 4 | ||||
| -rw-r--r-- | src/hash/jenkins.c | 1 | ||||
| -rw-r--r-- | src/hash/loselose.c | 1 | ||||
| -rw-r--r-- | src/hash/md5.c | 1 | ||||
| -rw-r--r-- | src/hash/pearson.c | 1 | ||||
| -rw-r--r-- | src/hash/pjw.c | 1 | ||||
| -rw-r--r-- | src/hash/sdbm.c | 1 | ||||
| -rw-r--r-- | src/hash/sha01.c | 2 | ||||
| -rw-r--r-- | src/hash/sha2-256.c | 13 | ||||
| -rw-r--r-- | src/hash/sysvchecksum.c | 1 | ||||
| -rw-r--r-- | src/hash/xor.c | 1 |
16 files changed, 40 insertions, 1 deletions
diff --git a/src/hash/adler.c b/src/hash/adler.c index 932c02c..daca0d7 100644 --- a/src/hash/adler.c +++ b/src/hash/adler.c @@ -23,6 +23,8 @@ uint32_t adler32(uint8_t* aa, size_t len){ return adler32_final(&dig); } +common_hash_clone(adler32); + common_hash_init_update(adler32); int l_adler32_final(lua_State* L){ diff --git a/src/hash/bsdchecksum.c b/src/hash/bsdchecksum.c index ebcf091..3fbbe77 100644 --- a/src/hash/bsdchecksum.c +++ b/src/hash/bsdchecksum.c @@ -25,6 +25,8 @@ uint16_t bsdchecksum(uint8_t* a, size_t len){ return bsdchecksum_final(&b); } +common_hash_clone(bsdchecksum); + common_hash_init_update(bsdchecksum); int l_bsdchecksum_final(lua_State* L){ diff --git a/src/hash/crc.c b/src/hash/crc.c index f52e005..acb6984 100644 --- a/src/hash/crc.c +++ b/src/hash/crc.c @@ -82,6 +82,10 @@ uint8_t crc8(uint8_t *aa, size_t len){ return crc8_final(&a); } +common_hash_clone(crc32); +common_hash_clone(crc16); +common_hash_clone(crc8); + common_hash_init_update(crc32); common_hash_init_update(crc16); common_hash_init_update(crc8); diff --git a/src/hash/djb2.c b/src/hash/djb2.c index 99f2a75..ed01345 100644 --- a/src/hash/djb2.c +++ b/src/hash/djb2.c @@ -23,6 +23,8 @@ uint32_t djb2(uint8_t * in, size_t len){ return djb2_final(&a); } +common_hash_clone(djb2); + common_hash_init_update(djb2); int l_djb2_final(lua_State* L){ diff --git a/src/hash/fletcher.c b/src/hash/fletcher.c index 16c8b40..be618bf 100644 --- a/src/hash/fletcher.c +++ b/src/hash/fletcher.c @@ -65,6 +65,10 @@ uint32_t fletcher32(uint8_t *aa, size_t len){ return fletcher32_final(&a); } +common_hash_clone(fletcher32); +common_hash_clone(fletcher16); +common_hash_clone(fletcher8); + common_hash_init_update(fletcher8); common_hash_init_update(fletcher16); common_hash_init_update(fletcher32); diff --git a/src/hash/fnv.c b/src/hash/fnv.c index 10c8ca2..c8e62c6 100644 --- a/src/hash/fnv.c +++ b/src/hash/fnv.c @@ -35,6 +35,10 @@ uint64_t fnv_1(uint8_t* in, size_t len, enum fnv_version A){ return fnv_1_final(&a); } +lua_common_hash_clone(fnv_1, fnv_0); +lua_common_hash_clone(fnv_1, fnv_1); +lua_common_hash_clone(fnv_1, fnv_a); + lua_common_hash_update(fnv_1, fnv_1); lua_common_hash_update(fnv_1, fnv_0); lua_common_hash_update(fnv_1, fnv_a); diff --git a/src/hash/jenkins.c b/src/hash/jenkins.c index dc96ff6..b75d4e9 100644 --- a/src/hash/jenkins.c +++ b/src/hash/jenkins.c @@ -31,6 +31,7 @@ uint32_t jenkins_oaat(uint8_t* in, size_t len){ return jenkins_oaat_final(&a); } +lua_common_hash_clone(jenkins_oaat, oaat); lua_common_hash_init_update(jenkins_oaat, oaat); int l_oaat_final(lua_State* L){ diff --git a/src/hash/loselose.c b/src/hash/loselose.c index 6ab8677..bfdc017 100644 --- a/src/hash/loselose.c +++ b/src/hash/loselose.c @@ -24,6 +24,7 @@ uint64_t loselose(uint8_t* in, size_t len){ return loselose_final(&a); } +common_hash_clone(loselose); common_hash_init_update(loselose); int l_loselose_final(lua_State* L){ diff --git a/src/hash/md5.c b/src/hash/md5.c index 014eefa..26f89e2 100644 --- a/src/hash/md5.c +++ b/src/hash/md5.c @@ -133,6 +133,7 @@ void md5_final(struct md5_hash* hash, char out_stream[64]){ } +common_hash_clone(md5); lua_common_hash_init_ni(md5, md5, md5_init_l(L)); lua_common_hash_update(md5, md5); //common_hash_init_update(md5); diff --git a/src/hash/pearson.c b/src/hash/pearson.c index c5fcf19..d42c9fe 100644 --- a/src/hash/pearson.c +++ b/src/hash/pearson.c @@ -59,6 +59,7 @@ int l_setpearson(lua_State* L){ return 0; } +common_hash_clone(pearson); common_hash_init_update(pearson); int l_pearson_final(lua_State* L){ diff --git a/src/hash/pjw.c b/src/hash/pjw.c index ce2c38c..ca3341a 100644 --- a/src/hash/pjw.c +++ b/src/hash/pjw.c @@ -27,6 +27,7 @@ uint32_t pjw(uint8_t* in, size_t len){ return pjw_final(&a); } +common_hash_clone(pjw); common_hash_init_update(pjw); int l_pjw_final(lua_State* L){ diff --git a/src/hash/sdbm.c b/src/hash/sdbm.c index 7b79526..f3457ff 100644 --- a/src/hash/sdbm.c +++ b/src/hash/sdbm.c @@ -23,6 +23,7 @@ uint64_t sdbm(uint8_t* in, size_t len){ return sdbm_final(&a); } +common_hash_clone(sdbm); common_hash_init_update(sdbm); int l_sdbm_final(lua_State* L){ diff --git a/src/hash/sha01.c b/src/hash/sha01.c index 3605dcd..dffe690 100644 --- a/src/hash/sha01.c +++ b/src/hash/sha01.c @@ -172,9 +172,11 @@ void sha1(uint8_t* a, size_t len, char* out_stream){ sha1_final(&aa, out_stream); } +common_hash_clone(sha1); lua_common_hash_init_ni(sha1, sha1, sha01_init_l(1, L)); lua_common_hash_update(sha1, sha1); +common_hash_clone(sha0); lua_common_hash_init_ni(sha0, sha0, sha01_init_l(0, L)); lua_common_hash_update(sha0, sha0); diff --git a/src/hash/sha2-256.c b/src/hash/sha2-256.c index f102a00..5327209 100644 --- a/src/hash/sha2-256.c +++ b/src/hash/sha2-256.c @@ -239,6 +239,7 @@ struct iv sha_iv_gen(int i){ 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_clone(sha512); lua_common_hash_init_ni(sha512, sha512, sha512_t_init_l(sha512_iv, L)); lua_common_hash_update(sha512, sha512); @@ -252,6 +253,7 @@ int l_sha512_final(lua_State* L){ return 1; } +common_hash_clone(sha384); lua_common_hash_init_ni(sha384, sha384, sha512_t_init_l(sha384_iv, L)); lua_common_hash_update(sha384, sha384); @@ -265,9 +267,18 @@ int l_sha384_final(lua_State* L){ return 1; } +int l_sha512_t_clone(lua_State* L){ + struct sha512_hash* a = (struct sha512_hash*)lua_touserdata(L, -1); + lua_pushinteger(L, a->t); + l_sha512_t_init(L); + struct sha512_hash* b = (struct sha512_hash*)lua_touserdata(L, -1); + *b = *a; + return 1; +} + lua_common_hash_meta(sha512_t); int l_sha512_t_init(lua_State* L){ - int tt = luaL_checkinteger(L, 1); + int tt = luaL_checkinteger(L, -1); lua_newtable(L); int t = lua_gettop(L); diff --git a/src/hash/sysvchecksum.c b/src/hash/sysvchecksum.c index 71f203b..221a6dd 100644 --- a/src/hash/sysvchecksum.c +++ b/src/hash/sysvchecksum.c @@ -23,6 +23,7 @@ uint32_t sysvchecksum(uint8_t* aa, size_t len){ return sysvchecksum_final(&a); } +common_hash_clone(sysvchecksum); common_hash_init_update(sysvchecksum); int l_sysvchecksum_final(lua_State* L){ diff --git a/src/hash/xor.c b/src/hash/xor.c index f2e4ff0..205408f 100644 --- a/src/hash/xor.c +++ b/src/hash/xor.c @@ -21,6 +21,7 @@ uint8_t xor8(uint8_t* aa, size_t len){ return xor8_final(&a); } +common_hash_clone(xor8) common_hash_init_update(xor8); int l_xor8_final(lua_State* L){ |
