diff options
Diffstat (limited to 'xs.h')
-rw-r--r-- | xs.h | 73 |
1 files changed, 0 insertions, 73 deletions
@@ -119,10 +119,6 @@ void xs_data_get(void *data, const xs_data *value); void *xs_memmem(const char *haystack, int h_size, const char *needle, int n_size); -xs_str *xs_hex_enc(const xs_val *data, int size); -xs_val *xs_hex_dec(const xs_str *hex, int *size); -int xs_is_hex(const char *str); - unsigned int xs_hash_func(const char *data, int size); #ifdef XS_ASSERT @@ -1178,75 +1174,6 @@ void *xs_memmem(const char *haystack, int h_size, const char *needle, int n_size } -/** hex **/ - -static char xs_hex_digits[] = "0123456789abcdef"; - -xs_str *xs_hex_enc(const xs_val *data, int size) -/* returns an hexdump of data */ -{ - xs_str *s; - char *p; - int n; - - p = s = xs_realloc(NULL, _xs_blk_size(size * 2 + 1)); - - for (n = 0; n < size; n++) { - *p++ = xs_hex_digits[*data >> 4 & 0xf]; - *p++ = xs_hex_digits[*data & 0xf]; - data++; - } - - *p = '\0'; - - return s; -} - - -xs_val *xs_hex_dec(const xs_str *hex, int *size) -/* decodes an hexdump into data */ -{ - int sz = strlen(hex); - xs_val *s = NULL; - char *p; - int n; - - if (sz % 2) - return NULL; - - p = s = xs_realloc(NULL, _xs_blk_size(sz / 2 + 1)); - - for (n = 0; n < sz; n += 2) { - int i; - if (sscanf(&hex[n], "%02x", &i) == 0) { - /* decoding error */ - return xs_free(s); - } - else - *p = i; - - p++; - } - - *p = '\0'; - *size = sz / 2; - - return s; -} - - -int xs_is_hex(const char *str) -/* returns 1 if str is an hex string */ -{ - while (*str) { - if (strchr("0123456789abcdefABCDEF", *str++) == NULL) - return 0; - } - - return 1; -} - - unsigned int xs_hash_func(const char *data, int size) /* a general purpose hashing function */ { |