aboutsummaryrefslogtreecommitdiffstats
path: root/src/badlib.h
diff options
context:
space:
mode:
authorBad Diode <bd@badd10de.dev>2024-06-15 01:08:39 +0200
committerBad Diode <bd@badd10de.dev>2024-06-15 01:08:39 +0200
commit92129f31bf0e5c423f2a7e406ae3600d7128a443 (patch)
treecf98e4436c4ed3e58c5a5b7237cfdb97f894470f /src/badlib.h
parent58069c9561cc77f74bc4047ab5f91bdee8bb385c (diff)
downloadbdl-92129f31bf0e5c423f2a7e406ae3600d7128a443.tar.gz
bdl-92129f31bf0e5c423f2a7e406ae3600d7128a443.zip
Add a new log_func to check the memory of an Array/Str
Diffstat (limited to 'src/badlib.h')
-rw-r--r--src/badlib.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/badlib.h b/src/badlib.h
index 6207ecf..7e1a715 100644
--- a/src/badlib.h
+++ b/src/badlib.h
@@ -1292,6 +1292,21 @@ log_func_array(Logger *l, void *in) {
1292 log_str(l, cstr(" }")); 1292 log_str(l, cstr(" }"));
1293} 1293}
1294 1294
1295void
1296log_func_memory(Logger *l, void *in) {
1297 assert(l);
1298 Array *val = in;
1299 for (sz i = 0; i < MIN(64, val->size); i++) {
1300 Arena scratch = l->storage;
1301 log_str(l, str_from_hex(val->mem[i], 2, &scratch));
1302 if ((i + 1) % 16 == 0) {
1303 log_str(l, cstr("\n"));
1304 } else {
1305 log_str(l, cstr(" "));
1306 }
1307 }
1308}
1309
1295#define LOG_BUF_SIZE KB(1) 1310#define LOG_BUF_SIZE KB(1)
1296#define LOG_MEM_SIZE KB(2) 1311#define LOG_MEM_SIZE KB(2)
1297 1312
@@ -1340,6 +1355,7 @@ log_init_default(void) {
1340 {cstr("Arena"), log_func_arena}, 1355 {cstr("Arena"), log_func_arena},
1341 {cstr("Buf"), log_func_buf}, 1356 {cstr("Buf"), log_func_buf},
1342 {cstr("Array"), log_func_array}, 1357 {cstr("Array"), log_func_array},
1358 {cstr("Mem"), log_func_memory},
1343 }; 1359 };
1344 for (sz i = 0; i < LEN(log_funcs); i++) { 1360 for (sz i = 0; i < LEN(log_funcs); i++) {
1345 log_func_register(&logger_inf, log_funcs[i]); 1361 log_func_register(&logger_inf, log_funcs[i]);