summaryrefslogtreecommitdiff
path: root/prb_string.c
diff options
context:
space:
mode:
Diffstat (limited to 'prb_string.c')
-rw-r--r--prb_string.c170
1 files changed, 0 insertions, 170 deletions
diff --git a/prb_string.c b/prb_string.c
deleted file mode 100644
index 06f4ed8..0000000
--- a/prb_string.c
+++ /dev/null
@@ -1,170 +0,0 @@
-/* NOTE(pryazha): Null-terminated strings */
-
-/* TODO(pryazha): Move to another file specific to OS you're in */
-void sys_vprintf(const char *fmt, va_list args)
-{
- vprintf(fmt, args);
-}
-
-void sys_printf(const char *fmt, ...)
-{
- va_list args;
- va_start(args, fmt);
- sys_vprintf(fmt, args);
- va_end(args);
-}
-
-/* NOTE(pryazha): Fixed-length strings */
-
-FLS fls(U8 *p, U64 len)
-{
- FLS r;
- r.p = p;
- r.len = len;
- return r;
-}
-
-FLS flsfromcstr(const char *cstr)
-{
- U8 *p;
- FLS r;
-
- p = (U8 *)cstr;
- for (; *p; ++p);
- r = flsrange((U8 *)cstr, p);
-
- return r;
-}
-
-char *flstocstr(Arena *a, FLS s)
-{
- U64 len;
- char *cstr;
-
- len = s.len+1;
- cstr = push_arena(a, len*sizeof(U8));
- MEMCPY(cstr, s.p, len*sizeof(U8));
- *(cstr+s.len) = 0;
-
- return cstr;
-}
-
-FLS flsrange(U8 *st_arenat, U8 *end)
-{
- FLS r;
- r.p = st_arenat;
- r.len = end-st_arenat;
- return r;
-}
-
-FLS flschopend(FLS s, U64 cnt)
-{
- U64 len;
- FLS r;
-
- len = s.len-CLAMPTOP(cnt, s.len);
- r = fls(s.p, len);
-
- return r;
-}
-
-FLS flschopstart(FLS s, U64 cnt)
-{
- U64 clamped, len;
- FLS r;
-
- clamped = CLAMPTOP(cnt, s.len);
- len = s.len-CLAMPTOP(cnt, s.len);
- r = fls(s.p+clamped, len);
-
- return r;
-}
-
-FLS flspushfv(Arena *a, const char *fmt, va_list args)
-{
- ASSERT(a);
-
- char tmp[1024];
- S32 n;
- FLS r;
-
- n = vsnprintf(tmp, 1024, fmt, args);
-
- MEM0(&r, sizeof(FLS));
-
- if (n > 0) {
- r.p = push_arena(a, n);
- MEMCPY(r.p, tmp, n);
- r.len = n;
- }
-
- return r;
-}
-
-FLS flspushf(Arena *a, const char *fmt, ...)
-{
- va_list args;
- FLS r;
-
- va_start(args, fmt);
- r = flspushfv(a, fmt, args);
- va_end(args);
-
- return r;
-}
-
-void flsprint(FLS s)
-{
- ASSERT(s.p);
- ASSERT(s.len);
-
- fwrite(s.p, sizeof(U8), s.len, stdout);
-}
-
-
-FLSList *flslist(Arena *a)
-{
- FLSList *l;
-
- l = push_arena(a, sizeof(FLSList));
- MEM0(l, sizeof(FLSList));
-
- return l;
-}
-
-void flslistpush(Arena *a, FLSList *l, FLS s, B32 front)
-{
- ASSERT(a);
- ASSERT(l);
-
- FLSNode *n;
-
- n = push_arena(a, sizeof(FLSNode));
- n->str = s;
-
- if (front)
- DLLPUSHFRONT(l->first, l->last, n);
- else
- DLLPUSHBACK(l->first, l->last, n);
- l->len += s.len;
- l->ncnt++;
-}
-
-void flslistpushf(Arena *a, FLSList *l, B32 front, const char *fmt, ...)
-{
- va_list args;
- FLS str;
-
- va_start(args, fmt);
- str = flspushfv(a, fmt, args);
- va_end(args);
-
- flslistpush(a, l, str, front);
-}
-
-void flslistprint(FLSList *l)
-{
- FLSNode *n;
- for (n = l->first; n; n = n->next)
- flsprint(n->str);
-}