diff options
Diffstat (limited to 'error.c')
| -rw-r--r-- | error.c | 11 |
1 files changed, 10 insertions, 1 deletions
@@ -18,7 +18,7 @@ static void do_error(int code, va_list ap) { char auxbuf[256]; char *sp, *sp2; wchar_t *wsp; - filepos fpos; + filepos fpos, fpos2; int flags; switch(code) { @@ -175,6 +175,15 @@ static void do_error(int code, va_list ap) { "previously defined `%.200s'", sp, sp2); flags = FILEPOS; break; + case err_multikw: + fpos = *va_arg(ap, filepos *); + fpos2 = *va_arg(ap, filepos *); + wsp = va_arg(ap, wchar_t *); + sp = ustrtoa(wsp, auxbuf, sizeof(auxbuf)); + sprintf(error, "paragraph keyword `%.200s' already defined at ", sp); + sprintf(error + strlen(error), "%s:%d", fpos2.filename, fpos2.line); + flags = FILEPOS; + break; case err_whatever: sp = va_arg(ap, char *); vsprintf(error, sp, ap); |