plan9: support %r format to read errstr

This commit is contained in:
Noam Preil
2025-12-12 10:32:43 +00:00
parent 1971d7df0a
commit 715dd413cc
+9 -2
View File
@@ -794,9 +794,7 @@ static const char *get_fmt_mapping(char c) {
if (format_mappings[i].c == c)
return format_mappings[i].mapping;
}
#ifndef JANET_PLAN9
janet_assert(0, "bad format mapping");
#endif
}
static const char *scanformat(
@@ -1025,10 +1023,19 @@ void janet_buffer_format(
char form[MAX_FORMAT], item[MAX_ITEM];
char width[3], precision[3];
int nb = 0; /* number of bytes in added item */
#ifdef JANET_PLAN9
if(*strfrmt == 'r'){
rerrstr(item, MAX_ITEM);
nb = strlen(item);
} else
#endif
if (++arg >= argc)
janet_panic("not enough values for format");
strfrmt = scanformat(strfrmt, form, width, precision);
switch (*strfrmt++) {
#ifdef JANET_PLAN9
case 'r': break;
#endif
case 'c': {
nb = snprintf(item, MAX_ITEM, form, (int)
janet_getinteger(argv, arg));