summaryrefslogtreecommitdiff
path: root/error.c
diff options
context:
space:
mode:
Diffstat (limited to 'error.c')
-rw-r--r--error.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/error.c b/error.c
index f7461ef..dfe65e3 100644
--- a/error.c
+++ b/error.c
@@ -19,7 +19,7 @@ static void do_error(int code, va_list ap) {
int i, j;
char *sp, *sp2;
wchar_t *wsp, *wsp2;
- filepos fpos, fpos2;
+ filepos fpos, fpos2, *fposp;
int flags;
switch(code) {
@@ -248,11 +248,14 @@ static void do_error(int code, va_list ap) {
flags = FILEPOS;
break;
case err_infonodechar:
- fpos = *va_arg(ap, filepos *);
+ fposp = va_arg(ap, filepos *);
c = (char)va_arg(ap, int);
sprintf(error, "info output format does not support '%c' in"
" node names; removing", c);
- flags = FILEPOS;
+ if (fposp) {
+ flags = FILEPOS;
+ fpos = *fposp;
+ }
break;
case err_text_codeline:
fpos = *va_arg(ap, filepos *);