aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2024-02-12 01:36:46 -0500
committerBruce Hill <bruce@bruce-hill.com>2024-02-12 01:36:46 -0500
commit179648b005b980e5c891d953b7c3ddef96f075f1 (patch)
tree4827508658c792d87618c3bc86a96f781b7e002d
parent2c5401aaf731bba58d0db419594068ac24eda143 (diff)
Add placeholder for stringifying arrays of unknown type
-rw-r--r--metamethods/cord.c1
-rw-r--r--nextlang.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/metamethods/cord.c b/metamethods/cord.c
index 4243ffb6..f2209b5f 100644
--- a/metamethods/cord.c
+++ b/metamethods/cord.c
@@ -85,6 +85,7 @@ static CORD vas_cord(void *x, const char **fmt, va_list args)
void *arg = va_arg(args, void*);
return fn(x, arg);
}
+ case ' ': return "?";
default: errx(1, "Unsupported format specifier: '%c'", c);
}
errx(1, "Unreachable");
diff --git a/nextlang.h b/nextlang.h
index 87cdf03e..fda796c8 100644
--- a/nextlang.h
+++ b/nextlang.h
@@ -39,6 +39,7 @@ CORD as_cord(void *x, const char *fmt, ...);
double: CORD_asprintf("%g", x), float: CORD_asprintf("%g", x), \
CORD: x, \
char*: (CORD)({ const char *__str = x; __str && __str[0] ? __str : CORD_EMPTY;}), \
+ array_t: as_cord(&(x), "[ ]"), \
default: "???")
#define __heap(x) (__typeof(x)*)memcpy(GC_MALLOC(sizeof(x)), (__typeof(x)[1]){x}, sizeof(x))
#define __stack(x) &(x)