aboutsummaryrefslogtreecommitdiff
path: root/src/util/str.c
diff options
context:
space:
mode:
authorJ08nY2017-12-17 23:05:24 +0100
committerJ08nY2017-12-17 23:05:24 +0100
commit8b1578b3d9012bfaa936c4e0d8cce3ac341fecd7 (patch)
tree172c60b0cd9190ff539e57e2d506598663bc604d /src/util/str.c
parent06ad7b6b91ed2e0ff1ed64f5872341d1b87f4d0e (diff)
parent878bd3fb19c5f876c6852ca5274186850b3c189f (diff)
downloadecgen-8b1578b3d9012bfaa936c4e0d8cce3ac341fecd7.tar.gz
ecgen-8b1578b3d9012bfaa936c4e0d8cce3ac341fecd7.tar.zst
ecgen-8b1578b3d9012bfaa936c4e0d8cce3ac341fecd7.zip
Diffstat (limited to 'src/util/str.c')
-rw-r--r--src/util/str.c16
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) {