From: Eric S. Raymond Date: Thu, 14 Sep 2006 18:25:06 +0000 (+0000) Subject: Text append looks like it should work, but it core-dumps. X-Git-Tag: 2.0~268 X-Git-Url: https://jxself.org/git/?p=super-star-trek.git;a=commitdiff_plain;h=f21d3481583b5cf877fc7b6efd6f2e08a1ade4b9 Text append looks like it should work, but it core-dumps. --- diff --git a/src/xio.c b/src/xio.c index ea35fb1..126da02 100644 --- a/src/xio.c +++ b/src/xio.c @@ -8,6 +8,8 @@ #include #include "sst.h" +#undef length /* ugh -- must get rid of ugly #defines */ + static XtAppContext app_context; static Widget toplevel, text, form; static Widget navigation, weapons, planets, misc; @@ -56,10 +58,25 @@ static void quit_proc(Widget w, XtPointer client_data, XtPointer call_data) exit (0); } +static void text_append_to(Widget w, String str) +/* append text to a specified text widget */ +{ + XawTextBlock txtblk; + XawTextPosition textend = XawTextGetInsertionPoint(w); + + txtblk.ptr = str; + txtblk.length = strlen(str); + txtblk.firstPos = 0; + txtblk.format = FMT8BIT; + + XawTextReplace(w, textend, textend, &txtblk); +} + static void noargs_proc(Widget w, XtPointer client_data, XtPointer call_data) /* use this for commands that take no arguments */ { /* currently a stub */ + text_append_to(w, XtName(w)); printf("Button %s pressed\n", XtName(w)); }