From f5a8daa618303c95c8c5acfbe51be086d82fe820 Mon Sep 17 00:00:00 2001 From: ian Date: Thu, 5 Jan 2006 02:36:38 +0000 Subject: [PATCH] better reporting of bad input --- hostside/gui-plan.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/hostside/gui-plan.c b/hostside/gui-plan.c index 3a4b9a8..1df8766 100644 --- a/hostside/gui-plan.c +++ b/hostside/gui-plan.c @@ -53,6 +53,9 @@ static int redraw_needed_count, expose_count; static Pixmap bg_pixmap; static unsigned long train_pixel, owned_pixel; +static const char *badcmdreport_data; +static size_t badcmdreport_recsz; + static void diex(const char *fn, const char *w) __attribute__((noreturn)); static void diex(const char *fn, const char *w) { die("Xlib call failed: %s%s%s%s", fn, @@ -79,7 +82,8 @@ static void diexpm(const char *fn, const char *w, int xpmst) { }while(0) void vbadcmd(ParseState *ps, const char *fmt, va_list al) { - fprintf(stderr,"gui-plan: incorrect input: "); + fprintf(stderr,"gui-plan: incorrect input: `%.*s': ", + (int)badcmdreport_recsz, badcmdreport_data); vfprintf(stderr,fmt,al); putc('\n',stderr); exit(8); @@ -248,7 +252,8 @@ static void *stdin_ifok(oop_source *evts, oop_read *cl_read, if (evt != OOP_RD_OK) return stdin_iferr(evts,cl_read,evt,errmsg,errnoval,data,recsz,cl_v); -fprintf(stderr,"gui-plan>%.*s<\n",(int)recsz,data); + badcmdreport_data= data; + badcmdreport_recsz= recsz; ps.cl= 0; ps.remain= data; -- 2.30.2