#include <X11/Xlib.h>
#include <X11/xpm.h>
-#include "hostside.h"
+#include "common.h"
#include "../layout/plan-data-format.h"
#include <oop.h>
};
oop_source *events;
+const char *progname= "gui-plan";
static SegmovfeatState **state, *states_head;
static Display *d;
static Pixmap bg_pixmap;
static unsigned long train_pixel, owned_pixel;
+static const char *badcmdreport_data;
+static size_t badcmdreport_recsz;
+
+void die_hook(void) { }
+void die_vprintf_hook(const char *fmt, va_list al) { }
+
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,
}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);
if (evt != OOP_RD_OK)
return stdin_iferr(evts,cl_read,evt,errmsg,errnoval,data,recsz,cl_v);
+ badcmdreport_data= data;
+ badcmdreport_recsz= recsz;
+
ps.cl= 0;
ps.remain= data;
ps_needword(&ps);