aboutsummaryrefslogtreecommitdiff
path: root/src/util/str.c
diff options
context:
space:
mode:
authorJ08nY2017-12-13 02:08:48 +0100
committerJ08nY2017-12-13 02:08:48 +0100
commitd2de28db4ceb7cd3350e81b98475d6baf2bfe481 (patch)
tree166550ca056003d1d6b988c75932886e0829e82d /src/util/str.c
parentcfec33981db5a6f80e51c064bc142623ce13399f (diff)
downloadecgen-d2de28db4ceb7cd3350e81b98475d6baf2bfe481.tar.gz
ecgen-d2de28db4ceb7cd3350e81b98475d6baf2bfe481.tar.zst
ecgen-d2de28db4ceb7cd3350e81b98475d6baf2bfe481.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) {