summaryrefslogtreecommitdiff
path: root/jrk.h
diff options
context:
space:
mode:
Diffstat (limited to 'jrk.h')
-rw-r--r--jrk.h17
1 files changed, 11 insertions, 6 deletions
diff --git a/jrk.h b/jrk.h
index a319bae..392a5b5 100644
--- a/jrk.h
+++ b/jrk.h
@@ -1,9 +1,4 @@
/*
- * requires POSIX.1-2008
- * #define _POSIX_C_SOURCE 200809L
- */
-
-/*
* TODO:
* - add a log interface to give user control of logging.
* disable completely, log to file, log format, etc.
@@ -16,6 +11,7 @@
*/
#include <stdbool.h>
+#include <stddef.h>
#include <stdint.h>
typedef int8_t i8;
@@ -85,6 +81,7 @@ void *jrk_arena_resize(jrk_Arena*, void*, u64, u64);
i32 jrk_rand_num(i32);
i32 jrk_rand_num_range(i32, i32);
+size_t jrk_strnlen(const char *, size_t);
jrk_fd jrk_fd_open_read(const char*);
jrk_fd jrk_fd_open_write(const char*);
@@ -876,7 +873,7 @@ jrk_string_from_cstr(const char *data)
{
jrk_String result = {0};
result.data = data;
- result.len = strnlen(data, _JRK_MAX_STRNLEN);
+ result.len = jrk_strnlen(data, _JRK_MAX_STRNLEN);
return result;
}
@@ -990,4 +987,12 @@ jrk_rand_num_range(i32 min, i32 max)
return rand() % (max - min + 1) + min;
}
+/* musl implementation */
+size_t
+jrk_strnlen(const char *s, size_t n)
+{
+ const char *p = memchr(s, 0, n);
+ return p ? (size_t) (p-s) : n;
+}
+
#endif /* JRK_IMPLEMENTATION */