summaryrefslogtreecommitdiff
path: root/xs_encdec.h
diff options
context:
space:
mode:
authorGravatar default2023-04-10 09:14:44 +0200
committerGravatar default2023-04-10 09:14:44 +0200
commit74098ec443b479ce751c28d875c53ec274fcc3a4 (patch)
tree179b5e62e3cdc2830a226de0c0669bd66823c859 /xs_encdec.h
parentMore work in status entries. (diff)
downloadsnac2-74098ec443b479ce751c28d875c53ec274fcc3a4.tar.gz
snac2-74098ec443b479ce751c28d875c53ec274fcc3a4.tar.xz
snac2-74098ec443b479ce751c28d875c53ec274fcc3a4.zip
Backport from xs.
Diffstat (limited to 'xs_encdec.h')
-rw-r--r--xs_encdec.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/xs_encdec.h b/xs_encdec.h
index 5966583..b88736e 100644
--- a/xs_encdec.h
+++ b/xs_encdec.h
@@ -6,6 +6,7 @@
6 6
7 xs_str *xs_hex_enc(const xs_val *data, int size); 7 xs_str *xs_hex_enc(const xs_val *data, int size);
8 xs_val *xs_hex_dec(const xs_str *hex, int *size); 8 xs_val *xs_hex_dec(const xs_str *hex, int *size);
9 int xs_is_hex(const char *str);
9 xs_str *xs_base64_enc(const xs_val *data, int sz); 10 xs_str *xs_base64_enc(const xs_val *data, int sz);
10 xs_val *xs_base64_dec(const xs_str *data, int *size); 11 xs_val *xs_base64_dec(const xs_str *data, int *size);
11 xs_str *xs_utf8_enc(xs_str *str, unsigned int cpoint); 12 xs_str *xs_utf8_enc(xs_str *str, unsigned int cpoint);
@@ -65,6 +66,18 @@ xs_val *xs_hex_dec(const xs_str *hex, int *size)
65} 66}
66 67
67 68
69int xs_is_hex(const char *str)
70/* returns 1 if str is an hex string */
71{
72 while (*str) {
73 if (strchr("0123456789abcdefABCDEF", *str++) == NULL)
74 return 0;
75 }
76
77 return 1;
78}
79
80
68xs_str *xs_base64_enc(const xs_val *data, int sz) 81xs_str *xs_base64_enc(const xs_val *data, int sz)
69/* encodes data to base64 */ 82/* encodes data to base64 */
70{ 83{