summaryrefslogtreecommitdiff
path: root/src/string.c
diff options
context:
space:
mode:
authorsteven-na <noreply.github@stvnc.dev>2026-08-14 16:31:44 -0700
committersteven-na <noreply.github@stvnc.dev>2026-08-14 16:31:44 -0700
commitf10afce9821a81c8dd138b84a4f1ab56116af20b (patch)
tree0233ed16ced2a3e36793ff48a2ff5384dcacf74f /src/string.c
parentd3e8a2361f78ef505c8cae2e30faefbfae5c88e1 (diff)
Add log messages, can be disabled. Made return values more consistent
Diffstat (limited to 'src/string.c')
-rw-r--r--src/string.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/string.c b/src/string.c
index a29af19..c808642 100644
--- a/src/string.c
+++ b/src/string.c
@@ -1,13 +1,15 @@
#include "common.h"
#include "smrt_arena.h"
-#include <string.h>
-
+#include "log.h"
#include "string.h"
+#include <string.h>
+
strng_t *strng_new(smrt_arena_t *arena, u64 size) {
strng_t *s = smrt_arena_push(arena, sizeof(strng_t) + size, true);
if (!s) {
+ log_error("Failed to allocate strng");
return NULL;
}
@@ -21,6 +23,7 @@ strng_t *strng_from(smrt_arena_t *arena, char const *c) {
strng_t *s = strng_new(arena, size);
if (!s) {
+ log_error("Failed to allocate strng");
return NULL;
}
@@ -36,6 +39,7 @@ strng_t *strng_dup(smrt_arena_t *arena, strng_t const *src) {
strng_t *string = smrt_arena_push(arena, size, true);
if (!string) {
+ log_error("Failed to allocate strng");
return NULL;
}
@@ -51,6 +55,7 @@ char *strng_str(smrt_arena_t *arena, strng_t const *string) {
char *s = SMRTA_ALLOC_ARRAY(arena, char, string->len+1);
if (!s) {
+ log_error("Failed to allocate char*");
return NULL;
} else if (string->len == 0) {
return s;
@@ -61,17 +66,15 @@ char *strng_str(smrt_arena_t *arena, strng_t const *string) {
return s;
}
-b32 strng_set(strng_t *string, char const *c) {
+i32 strng_set(strng_t *string, char const *c) {
u64 size = strlen(c);
- if (string->alloc_size < size) {
- return false;
- }
+ if (string->alloc_size < size) return -1;
memcpy((u8*)string+STRNG_BASE_POS, c, size);
string->len = size;
- return true;
+ return 0;
}
void strng_clear(strng_t *string) {