summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar default2022-10-08 07:00:05 +0200
committerGravatar default2022-10-08 07:00:05 +0200
commit0f4779e2a095b72b7ec7fc0f2abe2cc57f152b76 (patch)
treed9b945a8c84ba1441ad1563a78259e6ae95e4c1a
parentMore emoticons. (diff)
downloadpenes-snac2-0f4779e2a095b72b7ec7fc0f2abe2cc57f152b76.tar.gz
penes-snac2-0f4779e2a095b72b7ec7fc0f2abe2cc57f152b76.tar.xz
penes-snac2-0f4779e2a095b72b7ec7fc0f2abe2cc57f152b76.zip
Backport from xs.
Diffstat (limited to '')
-rw-r--r--xs.h26
-rw-r--r--xs_mime.h4
-rw-r--r--xs_openssl.h16
-rw-r--r--xs_set.h6
-rw-r--r--xs_socket.h4
-rw-r--r--xs_version.h1
6 files changed, 29 insertions, 28 deletions
diff --git a/xs.h b/xs.h
index 89f2ca9..45abfae 100644
--- a/xs.h
+++ b/xs.h
@@ -41,7 +41,7 @@ void _xs_destroy(char **var);
41#define xs_debug() raise(SIGTRAP) 41#define xs_debug() raise(SIGTRAP)
42xstype xs_type(const char *data); 42xstype xs_type(const char *data);
43int xs_size(const char *data); 43int xs_size(const char *data);
44int xs_is_null(char *data); 44int xs_is_null(const char *data);
45d_char *xs_dup(const char *data); 45d_char *xs_dup(const char *data);
46void *xs_realloc(void *ptr, size_t size); 46void *xs_realloc(void *ptr, size_t size);
47d_char *xs_expand(d_char *data, int offset, int size); 47d_char *xs_expand(d_char *data, int offset, int size);
@@ -54,9 +54,9 @@ d_char *xs_str_new(const char *str);
54d_char *xs_replace_i(d_char *str, const char *sfrom, const char *sto); 54d_char *xs_replace_i(d_char *str, const char *sfrom, const char *sto);
55#define xs_replace(str, sfrom, sto) xs_replace_i(xs_dup(str), sfrom, sto) 55#define xs_replace(str, sfrom, sto) xs_replace_i(xs_dup(str), sfrom, sto)
56d_char *xs_fmt(const char *fmt, ...); 56d_char *xs_fmt(const char *fmt, ...);
57int xs_str_in(char *haystack, char *needle); 57int xs_str_in(const char *haystack, const char *needle);
58int xs_startswith(char *str, char *prefix); 58int xs_startswith(const char *str, const char *prefix);
59int xs_endswith(char *str, char *postfix); 59int xs_endswith(const char *str, const char *postfix);
60d_char *xs_crop(d_char *str, int start, int end); 60d_char *xs_crop(d_char *str, int start, int end);
61d_char *xs_strip(d_char *str); 61d_char *xs_strip(d_char *str);
62d_char *xs_tolower(d_char *str); 62d_char *xs_tolower(d_char *str);
@@ -79,8 +79,8 @@ d_char *xs_dict_del(d_char *dict, const char *key);
79d_char *xs_dict_set(d_char *dict, const char *key, const char *data); 79d_char *xs_dict_set(d_char *dict, const char *key, const char *data);
80d_char *xs_val_new(xstype t); 80d_char *xs_val_new(xstype t);
81d_char *xs_number_new(double f); 81d_char *xs_number_new(double f);
82double xs_number_get(char *v); 82double xs_number_get(const char *v);
83char *xs_number_str(char *v); 83const char *xs_number_str(const char *v);
84 84
85extern int _xs_debug; 85extern int _xs_debug;
86 86
@@ -189,7 +189,7 @@ int xs_size(const char *data)
189} 189}
190 190
191 191
192int xs_is_null(char *data) 192int xs_is_null(const char *data)
193/* checks for null */ 193/* checks for null */
194{ 194{
195 return !!(data == NULL || xs_type(data) == XSTYPE_NULL); 195 return !!(data == NULL || xs_type(data) == XSTYPE_NULL);
@@ -323,7 +323,7 @@ d_char *xs_fmt(const char *fmt, ...)
323} 323}
324 324
325 325
326int xs_str_in(char *haystack, char *needle) 326int xs_str_in(const char *haystack, const char *needle)
327/* finds needle in haystack and returns the offset or -1 */ 327/* finds needle in haystack and returns the offset or -1 */
328{ 328{
329 char *s; 329 char *s;
@@ -336,14 +336,14 @@ int xs_str_in(char *haystack, char *needle)
336} 336}
337 337
338 338
339int xs_startswith(char *str, char *prefix) 339int xs_startswith(const char *str, const char *prefix)
340/* returns true if str starts with prefix */ 340/* returns true if str starts with prefix */
341{ 341{
342 return !!(xs_str_in(str, prefix) == 0); 342 return !!(xs_str_in(str, prefix) == 0);
343} 343}
344 344
345 345
346int xs_endswith(char *str, char *postfix) 346int xs_endswith(const char *str, const char *postfix)
347/* returns true if str ends with postfix */ 347/* returns true if str ends with postfix */
348{ 348{
349 int ssz = strlen(str); 349 int ssz = strlen(str);
@@ -732,7 +732,7 @@ d_char *xs_number_new(double f)
732} 732}
733 733
734 734
735double xs_number_get(char *v) 735double xs_number_get(const char *v)
736/* gets the number as a double */ 736/* gets the number as a double */
737{ 737{
738 double f = 0.0; 738 double f = 0.0;
@@ -744,10 +744,10 @@ double xs_number_get(char *v)
744} 744}
745 745
746 746
747char *xs_number_str(char *v) 747const char *xs_number_str(const char *v)
748/* gets the number as a string */ 748/* gets the number as a string */
749{ 749{
750 char *p = NULL; 750 const char *p = NULL;
751 751
752 if (v[0] == XSTYPE_NUMBER) 752 if (v[0] == XSTYPE_NUMBER)
753 p = &v[1]; 753 p = &v[1];
diff --git a/xs_mime.h b/xs_mime.h
index 699ab39..072a98a 100644
--- a/xs_mime.h
+++ b/xs_mime.h
@@ -4,7 +4,7 @@
4 4
5#define _XS_MIME 5#define _XS_MIME
6 6
7char *xs_mime_by_ext(char *file); 7char *xs_mime_by_ext(const char *file);
8 8
9#ifdef XS_IMPLEMENTATION 9#ifdef XS_IMPLEMENTATION
10 10
@@ -27,7 +27,7 @@ struct _mime_info {
27}; 27};
28 28
29 29
30char *xs_mime_by_ext(char *file) 30char *xs_mime_by_ext(const char *file)
31/* returns the MIME type by file extension */ 31/* returns the MIME type by file extension */
32{ 32{
33 struct _mime_info *mi = mime_info; 33 struct _mime_info *mi = mime_info;
diff --git a/xs_openssl.h b/xs_openssl.h
index 9b0f71e..0652637 100644
--- a/xs_openssl.h
+++ b/xs_openssl.h
@@ -9,10 +9,10 @@ d_char *xs_sha1_hex(const void *input, int size);
9d_char *xs_sha256_hex(const void *input, int size); 9d_char *xs_sha256_hex(const void *input, int size);
10d_char *xs_sha256_base64(const void *input, int size); 10d_char *xs_sha256_base64(const void *input, int size);
11d_char *xs_rsa_genkey(int bits); 11d_char *xs_rsa_genkey(int bits);
12d_char *xs_rsa_sign(char *secret, char *mem, int size); 12d_char *xs_rsa_sign(const char *secret, const char *mem, int size);
13int xs_rsa_verify(char *pubkey, char *mem, int size, char *b64sig); 13int xs_rsa_verify(const char *pubkey, const char *mem, int size, const char *b64sig);
14d_char *xs_evp_sign(char *secret, char *mem, int size); 14d_char *xs_evp_sign(const char *secret, const char *mem, int size);
15int xs_evp_verify(char *pubkey, char *mem, int size, char *b64sig); 15int xs_evp_verify(const char *pubkey, const char *mem, int size, const char *b64sig);
16 16
17 17
18#ifdef XS_IMPLEMENTATION 18#ifdef XS_IMPLEMENTATION
@@ -119,7 +119,7 @@ d_char *xs_rsa_genkey(int bits)
119} 119}
120 120
121 121
122d_char *xs_rsa_sign(char *secret, char *mem, int size) 122d_char *xs_rsa_sign(const char *secret, const char *mem, int size)
123/* signs a memory block (secret is in PEM format) */ 123/* signs a memory block (secret is in PEM format) */
124{ 124{
125 d_char *signature = NULL; 125 d_char *signature = NULL;
@@ -146,7 +146,7 @@ d_char *xs_rsa_sign(char *secret, char *mem, int size)
146} 146}
147 147
148 148
149int xs_rsa_verify(char *pubkey, char *mem, int size, char *b64sig) 149int xs_rsa_verify(const char *pubkey, const char *mem, int size, const char *b64sig)
150/* verifies a base64 block, returns non-zero on ok */ 150/* verifies a base64 block, returns non-zero on ok */
151{ 151{
152 int r = 0; 152 int r = 0;
@@ -176,7 +176,7 @@ int xs_rsa_verify(char *pubkey, char *mem, int size, char *b64sig)
176} 176}
177 177
178 178
179d_char *xs_evp_sign(char *secret, char *mem, int size) 179d_char *xs_evp_sign(const char *secret, const char *mem, int size)
180/* signs a memory block (secret is in PEM format) */ 180/* signs a memory block (secret is in PEM format) */
181{ 181{
182 d_char *signature = NULL; 182 d_char *signature = NULL;
@@ -217,7 +217,7 @@ d_char *xs_evp_sign(char *secret, char *mem, int size)
217} 217}
218 218
219 219
220int xs_evp_verify(char *pubkey, char *mem, int size, char *b64sig) 220int xs_evp_verify(const char *pubkey, const char *mem, int size, const char *b64sig)
221/* verifies a base64 block, returns non-zero on ok */ 221/* verifies a base64 block, returns non-zero on ok */
222{ 222{
223 int r = 0; 223 int r = 0;
diff --git a/xs_set.h b/xs_set.h
index 7d7a762..2beb454 100644
--- a/xs_set.h
+++ b/xs_set.h
@@ -13,7 +13,7 @@ typedef struct _xs_set {
13 13
14xs_set *xs_set_new(int elems); 14xs_set *xs_set_new(int elems);
15void xs_set_free(xs_set *s); 15void xs_set_free(xs_set *s);
16int xs_set_add(xs_set *s, char *data); 16int xs_set_add(xs_set *s, const char *data);
17 17
18 18
19#ifdef XS_IMPLEMENTATION 19#ifdef XS_IMPLEMENTATION
@@ -40,7 +40,7 @@ void xs_set_free(xs_set *s)
40} 40}
41 41
42 42
43unsigned int _xs_set_hash(char *data, int size) 43unsigned int _xs_set_hash(const char *data, int size)
44{ 44{
45 unsigned int hash = 0x666; 45 unsigned int hash = 0x666;
46 int n; 46 int n;
@@ -54,7 +54,7 @@ unsigned int _xs_set_hash(char *data, int size)
54} 54}
55 55
56 56
57int xs_set_add(xs_set *s, char *data) 57int xs_set_add(xs_set *s, const char *data)
58/* adds the data to the set */ 58/* adds the data to the set */
59/* returns: 1 if added, 0 if already there, -1 if it's full */ 59/* returns: 1 if added, 0 if already there, -1 if it's full */
60{ 60{
diff --git a/xs_socket.h b/xs_socket.h
index a3fe6a4..d2853a2 100644
--- a/xs_socket.h
+++ b/xs_socket.h
@@ -5,7 +5,7 @@
5#define _XS_SOCKET_H 5#define _XS_SOCKET_H
6 6
7int xs_socket_timeout(int s, double rto, double sto); 7int xs_socket_timeout(int s, double rto, double sto);
8int xs_socket_server(char *addr, int port); 8int xs_socket_server(const char *addr, int port);
9FILE *xs_socket_accept(int rs); 9FILE *xs_socket_accept(int rs);
10 10
11 11
@@ -40,7 +40,7 @@ int xs_socket_timeout(int s, double rto, double sto)
40} 40}
41 41
42 42
43int xs_socket_server(char *addr, int port) 43int xs_socket_server(const char *addr, int port)
44/* opens a server socket */ 44/* opens a server socket */
45{ 45{
46 int rs = -1; 46 int rs = -1;
diff --git a/xs_version.h b/xs_version.h
new file mode 100644
index 0000000..ca721ea
--- /dev/null
+++ b/xs_version.h
@@ -0,0 +1 @@
/* b6512569814e4b409191a24193abe54d00427df2 */