diff options
Diffstat (limited to 'xs_encdec.h')
| -rw-r--r-- | xs_encdec.h | 13 |
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 | ||
| 69 | int 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 | |||
| 68 | xs_str *xs_base64_enc(const xs_val *data, int sz) | 81 | xs_str *xs_base64_enc(const xs_val *data, int sz) |
| 69 | /* encodes data to base64 */ | 82 | /* encodes data to base64 */ |
| 70 | { | 83 | { |