diff --git a/metamethods/cord.c b/metamethods/cord.c index 4243ffb..f2209b5 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 87cdf03..fda796c 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)