diff options
| author | J08nY | 2017-12-13 02:08:48 +0100 |
|---|---|---|
| committer | J08nY | 2017-12-13 02:08:48 +0100 |
| commit | d2de28db4ceb7cd3350e81b98475d6baf2bfe481 (patch) | |
| tree | 166550ca056003d1d6b988c75932886e0829e82d /src/util/str.c | |
| parent | cfec33981db5a6f80e51c064bc142623ce13399f (diff) | |
| download | ecgen-d2de28db4ceb7cd3350e81b98475d6baf2bfe481.tar.gz ecgen-d2de28db4ceb7cd3350e81b98475d6baf2bfe481.tar.zst ecgen-d2de28db4ceb7cd3350e81b98475d6baf2bfe481.zip | |
Diffstat (limited to 'src/util/str.c')
| -rw-r--r-- | src/util/str.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/util/str.c b/src/util/str.c index 933eb83..3f9f39c 100644 --- a/src/util/str.c +++ b/src/util/str.c @@ -3,9 +3,25 @@ * Copyright (C) 2017 J08nY */ #include "str.h" +#include <ctype.h> #include <string.h> #include "util/memory.h" +const char *str_is_hex(const char *hex_str) { + const char *str_start = hex_str; + if (strlen(hex_str) > 2) { + if (hex_str[0] == '0' && (hex_str[1] == 'x' || hex_str[1] == 'X')) { + str_start = hex_str + 2; + } + } + const char *s = str_start; + while (*s != 0) { + char c = *s++; + if (!isxdigit(c)) return NULL; + } + return str_start; +} + char *str_join(char *strings[], size_t len) { size_t total = 0; for (size_t i = 0; i < len; ++i) { |
