X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=diagnostic.c;h=0a582af823302d25ba337c9f83f93b457ff8cc9a;hb=91219ace689b880db697e46a6f8bb953f0f3e9ea;hp=468f0c6da8d2f2f4a4afc2e0e7d401e41ef661aa;hpb=68a770de4603c696518d3dd2f278985262a1a2a2;p=cparser diff --git a/diagnostic.c b/diagnostic.c index 468f0c6..0a582af 100644 --- a/diagnostic.c +++ b/diagnostic.c @@ -92,9 +92,18 @@ static void diagnosticvf(const char *const fmt, va_list ap) break; } + case 'u': { + const unsigned int val = va_arg(ap, unsigned int); + fprintf(stderr, "%u", val); + break; + } + case 'Y': { const symbol_t *const symbol = va_arg(ap, const symbol_t*); - fputs(symbol->string, stderr); + if (symbol == NULL) + fputs("(null)", stderr); + else + fputs(symbol->string, stderr); break; } @@ -128,7 +137,7 @@ static void diagnosticvf(const char *const fmt, va_list ap) case 'k': { if (extended) { - bool first = false; + bool first = true; va_list* toks = va_arg(ap, va_list*); const char* const delimiter = va_arg(ap, const char*); for (;;) {