Commit: 6cccfe00b1445c336730fd0869ad616bdee2e254
Parent: 5373fda164328953e538ada42fe564c122a63cc7
Author: Randy Palamar
Date: Sat, 22 Feb 2025 16:13:38 -0700
util: add stream_append for raw data with less typing
Diffstat:
2 files changed, 16 insertions(+), 15 deletions(-)
diff --git a/static.c b/static.c
@@ -48,7 +48,7 @@ gl_debug_logger(u32 src, u32 type, u32 id, u32 lvl, i32 len, const char *msg, co
case GL_DEBUG_SEVERITY_NOTIFICATION: stream_append_s8(e, s8("NOTIFICATION]: ")); break;
default: stream_append_s8(e, s8("INVALID]: ")); break;
}
- stream_append_s8(e, (s8){.len = len, .data = (u8 *)msg});
+ stream_append(e, (char *)msg, len);
stream_append_byte(e, '\n');
os_write_err_msg(stream_to_s8(e));
e->widx = 0;
diff --git a/util.c b/util.c
@@ -121,31 +121,32 @@ stream_to_s8(Stream *s)
}
static void
+stream_append(Stream *s, void *data, size count)
+{
+ s->errors |= (s->cap - s->widx) < count;
+ if (!s->errors) {
+ mem_copy(data, s->data + s->widx, count);
+ s->widx += count;
+ }
+}
+
+static void
stream_append_byte(Stream *s, u8 b)
{
- s->errors |= s->widx + 1 > s->cap;
- if (!s->errors)
- s->data[s->widx++] = b;
+ stream_append(s, &b, 1);
}
static void
stream_append_s8(Stream *s, s8 str)
{
- s->errors |= (s->cap - s->widx) < str.len;
- if (!s->errors) {
- mem_copy(str.data, s->data + s->widx, str.len);
- s->widx += str.len;
- }
+ stream_append(s, str.data, str.len);
}
static void
stream_append_s8_array(Stream *s, s8 *strs, size count)
{
- while (count > 0) {
- stream_append_s8(s, *strs);
- strs++;
- count--;
- }
+ for (size i = 0; i < count; i++)
+ stream_append(s, strs[i].data, strs[i].len);
}
static void
@@ -155,7 +156,7 @@ stream_append_u64(Stream *s, u64 n)
u8 *end = tmp + sizeof(tmp);
u8 *beg = end;
do { *--beg = '0' + (n % 10); } while (n /= 10);
- stream_append_s8(s, (s8){.len = end - beg, .data = beg});
+ stream_append(s, beg, end - beg);
}
static void