Newsgroups: alt.sources Path: wupost!zaphod.mps.ohio-state.edu!think.com!news.bbn.com!mips2!bubba!jtsillas From: jtsillas@bubba.ma30.bull.com (James Tsillas) Subject: mxgdb 1.0.3 (part 9/10) Organization: Bull HN, Worldwide Information Systems, Billerica, Mass., USA Distribution: alt Date: 6 Sep 91 14:40:10 Message-ID: Sender: news@mips2.ma30.bull.com (Usenet News Manager) ---- Cut Here and feed the following to sh ---- #!/bin/sh # this is mxgdb.09 (part 9 of a multipart archive) # do not concatenate these parts, unpack them in order with /bin/sh # file mxgdb/gdb.c continued # if test ! -r _shar_seq_.tmp; then echo 'Please unpack part 1 first!' exit 1 fi (read Scheck if test "$Scheck" != 9; then echo Please unpack part "$Scheck" next! exit 1 else exit 0 fi ) < _shar_seq_.tmp || exit 1 if test ! -f _shar_wnt_.tmp; then echo 'x - still skipping mxgdb/gdb.c' else echo 'x - continuing file mxgdb/gdb.c' sed 's/^X//' << 'SHAR_EOF' >> 'mxgdb/gdb.c' && X * > check the use list to create a list of directories for searching X * source files. X * > ask dbx for the source file and display it if it exists. X * > open the command initialization file and executed the commands; X * if Tstartup is true, remove the initialization file. X */ void debug_init() { X static visited = False; X X if (!visited) { X visited = True; X dbx_init(xdbxinit); X if (Tstartup) X unlink(xdbxinit); X strcpy(xdbxinit, ""); X } } X /* X * This is a callback procedure invoked everytime when input is pending X * on the file descriptor to dbx. X * o reads all the data available on the file descriptor line by line X * into local variable 'string' and global variable 'output'. X * 'output' records the entire dbx output whereas 'string' records X * only the data read in this invocation of read_dbx(). X * o in Echo mode, the contents in 'string' is edited by filter() X * before it gets displayed on the dialog window. X * o once the dbx prompt is read, calls parse() to analyse the dbx output X * and take appropriate action. X */ /* ARGSUSED */ void read_dbx(master, source, id) XXtPointer master; int *source; XXtInputId *id; { X static char *output = NULL; /* buffer for dbx output */ X static char *next_string = NULL; X static char *command; X char *string = NULL; X char s[LINESIZ]; X Boolean more; X X more = True; X while (more) { X Prompt = False; X /* keep reading until no more or until prompt arrives */ X while (more = fgets(s, LINESIZ, dbxfp) && !Prompt) { X if (debug) X fprintf(stderr, "=>%s", s); X /* receive prompt? */ X if (!strncmp(s, dbxprompt, strlen(dbxprompt))) { X Prompt = True; X /* more stuff behind prompt? */ X if (s[strlen(dbxprompt)]) X /* remember it */ X next_string = XtNewString(s+strlen(dbxprompt)); X /* destroy contents */ X strcpy(s, ""); X } X string = concat(string, s); X strcpy(s, ""); X } X output = concat(output, string); X command = get_command(); X X if (Echo) { X filter(string, output, command); X if (Prompt) AppendDialogText(xdbxprompt); X } X if (string) { X XtFree(string); X string = NULL; X } X if (next_string) { X string = concat(string, next_string); X XtFree(next_string); X next_string = NULL; X } X if (Prompt) { X parse(output, command); X delete_command(); X XtFree(output); X output = NULL; X } X } } X /* Write string s to dbx, and flush the output. */ X void write_dbx(s) char *s; { X if (debug) X fprintf(stderr, ">>%s", s); /* (PW) see what is sent to GDB */ X X fputs(s, dbxfp); X fflush(dbxfp); } X /* Sends a command to dbx and read the corresponding output, directly X * invoking the Xt input procedure, read_dbx(). X */ void query_dbx(command) char *command; { X write_dbx(command); X insert_command(command); X X Echo = False; X Prompt = False; X while (!Prompt) X read_dbx(); X X Parse = True; /* Always reset Parse and Echo to True */ X Echo = True; } SHAR_EOF echo 'File mxgdb/gdb.c is complete' && chmod 0664 mxgdb/gdb.c || echo 'restore of mxgdb/gdb.c failed' Wc_c="`wc -c < 'mxgdb/gdb.c'`" test 7504 -eq "$Wc_c" || echo 'mxgdb/gdb.c: original size 7504, current size' "$Wc_c" rm -f _shar_wnt_.tmp fi # ============= mxgdb/mxgdb.c ============== if test -f 'mxgdb/mxgdb.c' -a X"$1" != X"-c"; then echo 'x - skipping mxgdb/mxgdb.c (File already exists)' rm -f _shar_wnt_.tmp else > _shar_wnt_.tmp echo 'x - extracting mxgdb/mxgdb.c (Text)' sed 's/^X//' << 'SHAR_EOF' > 'mxgdb/mxgdb.c' && static char rcsid[] = "$Id: mxgdb.c,v 1.1 1991/08/23 16:34:22 jtsillas Exp $"; X /***************************************************************************** X * X * xdbx - X Window System interface to the dbx debugger X * X * Copyright 1989 The University of Texas at Austin X * Copyright 1990 Microelectronics and Computer Technology Corporation X * X * Permission to use, copy, modify, and distribute this software and its X * documentation for any purpose and without fee is hereby granted, X * provided that the above copyright notice appear in all copies and that X * both that copyright notice and this permission notice appear in X * supporting documentation, and that the name of The University of Texas X * and Microelectronics and Computer Technology Corporation (MCC) not be X * used in advertising or publicity pertaining to distribution of X * the software without specific, written prior permission. The X * University of Texas and MCC makes no representations about the X * suitability of this software for any purpose. It is provided "as is" X * without express or implied warranty. X * X * THE UNIVERSITY OF TEXAS AND MCC DISCLAIMS ALL WARRANTIES WITH REGARD TO X * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND X * FITNESS, IN NO EVENT SHALL THE UNIVERSITY OF TEXAS OR MCC BE LIABLE FOR X * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER X * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF X * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN X * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. X * X * Author: Po Cheung X * Created: March 10, 1989 X * X ***************************************************************************** X * X * xxgdb - X Window System interface to the gdb debugger X * X * Copyright 1990 Thomson Consumer Electronics, Inc. X * X * Permission to use, copy, modify, and distribute this software and its X * documentation for any purpose and without fee is hereby granted, X * provided that the above copyright notice appear in all copies and that X * both that copyright notice and this permission notice appear in X * supporting documentation, and that the name of Thomson Consumer X * Electronics (TCE) not be used in advertising or publicity pertaining X * to distribution of the software without specific, written prior X * permission. TCE makes no representations about the suitability of X * this software for any purpose. It is provided "as is" without express X * or implied warranty. X * X * TCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING X * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT X * SHALL TCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES X * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, X * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, X * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS X * SOFTWARE. X * X * Adaptation to GDB: Pierre Willard X * XXGDB Created: December, 1990 X * X ***************************************************************************** X /* mxgdb.c X * X * Contain main program and initialization, command line options handling, X * and resource database management. X * X * Syntax(): Print an error message if xdbx is invoked with an X * incorrect number of arguments. X * main_init(): Initialization routine. X * gdboptions(): Construct command line arguments for dbx. X * main(): Main program. X */ X # include # include #if defined(SYSV) && defined(Mips) # include #endif #include "global.h" #include "bitmaps.h" #include X #define Offset(field) (XtOffset(MxgdbResources *, field)) X char cwd[MAXPATHLEN]; /* The current working directory */ XXtAppContext app_context; /* application context */ Widget toplevel; /* top level widget */ Display *display; /* connection to X server */ MxgdbResources app_resources; /* application resources of xdbx */ char xdbxinit[LINESIZ]; /* initialization file name */ Boolean Tstartup = False; /* if True, remove xdbxinit */ Boolean debug = False; /* debug mode for xdbx */ X X static XtResource resources[] = { X { "useCommandDialog", "UseCommandDialog", XtRBoolean, sizeof(Boolean), X Offset(useCommandDialog), XtRImmediate, (caddr_t)False }, X { "bell", "Bell", XtRBoolean, sizeof(Boolean), X Offset(bell), XtRImmediate, (caddr_t)False }, X { "delimiters", "Delimiters", XtRString, sizeof(char *), X Offset(delimiters), XtRImmediate, (caddr_t)NULL }, X { "prompt", "Prompt", XtRString, sizeof(char *), X Offset(prompt), XtRImmediate, (caddr_t)NULL }, X { "stop_color", "StopColor", XtRPixel, sizeof(Pixel), X Offset(stop_color), XtRString, "Red" }, X { "arrow_color", "ArrowColor", XtRPixel, sizeof(Pixel), X Offset(arrow_color), XtRString, "Blue" }, X { "updown_color", "UpdownColor", XtRPixel, sizeof(Pixel), X Offset(updown_color), XtRString, "Blue" }, X { "bomb_color", "bombColor", XtRPixel, sizeof(Pixel), X Offset(bomb_color), XtRString, "Red" }, X { "bigicon", "Xdbxoptions", XtRBoolean, sizeof(Boolean), X Offset(bigicon), XtRImmediate, (caddr_t)False }, X { "debug", "Xdbxoptions", XtRBoolean, sizeof(Boolean), X Offset(debug), XtRImmediate, (caddr_t)False }, X { "includeDir", "Dbxoptions", XtRString, sizeof(char *), X Offset(includeDir), XtRImmediate, (caddr_t)NULL}, X { "cfile", "Dbxoptions", XtRString, sizeof(char *), X Offset(cfile), XtRImmediate, (caddr_t)NULL }, X { "startup", "Dbxoptions", XtRString, sizeof(char *), X Offset(startup), XtRImmediate, (caddr_t)NULL }, X { "tstartup", "Dbxoptions", XtRString, sizeof(char *), X Offset(tstartup), XtRImmediate, (caddr_t)NULL }, }; X X static XrmOptionDescRec options[] = { X { "-bigicon","bigicon", XrmoptionNoArg, "True" }, X { "-debug", "debug", XrmoptionNoArg, "True" }, X { "-d", "includeDir", XrmoptionSepArg, NULL }, }; X static void Syntax(call) char *call; { X fprintf(stderr, X "Usage: %s [-toolkitoptions] [-gdboptions] [objfile [corefile]]\n", X call); X exit(1); } X Cursor xterm, top_left_arrow; X /* Set window manager hints to indicate display accepts input. X * Initialize routines in source.c, signs.c and parser.c. X * Disable window resize of fileWindow. X * Get the name of the dbx command initialization file. X */ static void main_init() { X XWMHints wmhints; X char title[100]; X X display = XtDisplay(toplevel); X X sprintf(title, "mxgdb 1.0.3"); X XStoreName(display, XtWindow(toplevel), title); X XSetIconName(display, XtWindow(toplevel), "mxgdb"); X X xterm = XCreateFontCursor(display, XC_xterm); X top_left_arrow = XCreateFontCursor(display, XC_top_left_arrow); X XDefineCursor(display, XtWindow(sourceWindow), xterm); X XDefineCursor(display, XtWindow(dialogWindow), xterm); X X wmhints.input = True; X if (app_resources.bigicon) X wmhints.icon_pixmap = XCreateBitmapFromData(display, XtWindow(toplevel), X mxgdb64_bits, mxgdb64_width, mxgdb64_height); X else X wmhints.icon_pixmap = XCreateBitmapFromData(display, XtWindow(toplevel), X mxgdb48_bits, mxgdb48_width, mxgdb48_height); X wmhints.flags = IconPixmapHint | InputHint; X XSetWMHints(display, XtWindow(toplevel), &wmhints); X X if (!app_resources.delimiters || X !strcmp(app_resources.delimiters, "")) X app_resources.delimiters = XtNewString(DELIMITERS); X if (app_resources.prompt && strcmp(app_resources.prompt, "")) X xdbxprompt = app_resources.prompt; X else X xdbxprompt = XtNewString(XDBXPROMPT); X debug = app_resources.debug; X X strcpy(xdbxinit, ".gdbinit"); X if (access(xdbxinit, R_OK) == -1) { X sprintf(xdbxinit, "%s/%s", (char *) getenv("HOME"), ".gdbinit"); X if (access(xdbxinit, R_OK) == -1) { X strcpy(xdbxinit, ""); X } X } X X source_init(); X signs_init(); X parser_init(); } X X /* Reconstruct command line arguments for calling gdb. X * Return the argument list for gdb and new value of argc. X */ static char **gdboptions(argc, argv, app_resources) X int *argc; X char **argv; X MxgdbResources *app_resources; { X char **gdbargv; X char *temp = "mxgdb.XXXXXX"; X int i=0; X X gdbargv = (char **) XtMalloc (MAXARGS * sizeof(char *)); X for (i=0; i < *argc; i++) X gdbargv[i] = argv[i]; X gdbargv[i++] = "-fullname"; /* see gdb_regex.h */ X if (app_resources->includeDir) { /* Include directory */ X gdbargv[i++] = "-d "; X gdbargv[i++] = app_resources->includeDir; X } X if (app_resources->cfile) { /* Core file */ X gdbargv[i++] = "-c"; X gdbargv[i++] = app_resources->cfile; X } X if (strcmp(xdbxinit, "")) { /* .dbxinit or ~/.dbxinit exists */ X gdbargv[i++] = "-nx"; X } X if (app_resources->startup) { /* overwrites dbxinit */ X Tstartup = False; X strcpy(xdbxinit, app_resources->startup); X } X if (app_resources->tstartup) { /* overwrites dbxinit */ X Tstartup = True; X strcpy(xdbxinit, app_resources->tstartup); X } X gdbargv[i] = NULL; X *argc = i; X return gdbargv; } X void main(argc, argv) int argc; char **argv; { X char **gdbargv; X Arg args[10]; X X getcwd((char *)cwd, MAXPATHLEN); X trap_signals(); X X XtSetArg(args[0], XmNkeyboardFocusPolicy, XmPOINTER); X toplevel = XtAppInitialize(&app_context, "Mxgdb", options, XtNumber(options), &argc, argv, NULL, args, 1); X X if (argc > 3) Syntax(argv[0]); X X XtGetApplicationResources(toplevel, &app_resources, resources, X XtNumber(resources), NULL, 0); X X CreateSubWindows(toplevel); X XtRealizeWidget(toplevel); X X main_init(); X X AppendDialogText("MXGDB Alpha-version 1.0.3\nMXGDB comes with ABSOLUTELY NO WARRANTY.\n"); X X X gdbargv = gdboptions(&argc, argv, &app_resources); X callgdb(argc, gdbargv); X X if(app_resources.useCommandDialog) X XtManageChild(commandDialog); X X XtAppMainLoop(app_context); } X X SHAR_EOF chmod 0664 mxgdb/mxgdb.c || echo 'restore of mxgdb/mxgdb.c failed' Wc_c="`wc -c < 'mxgdb/mxgdb.c'`" test 9950 -eq "$Wc_c" || echo 'mxgdb/mxgdb.c: original size 9950, current size' "$Wc_c" rm -f _shar_wnt_.tmp fi # ============= mxgdb/bitmaps.c ============== if test -f 'mxgdb/bitmaps.c' -a X"$1" != X"-c"; then echo 'x - skipping mxgdb/bitmaps.c (File already exists)' rm -f _shar_wnt_.tmp else > _shar_wnt_.tmp echo 'x - extracting mxgdb/bitmaps.c (Text)' sed 's/^X//' << 'SHAR_EOF' > 'mxgdb/bitmaps.c' && /* $Id: bitmaps.c,v 1.1 1991/08/23 16:34:18 jtsillas Exp $ */ X /***************************************************************************** X * X * xdbx - X Window System interface to the dbx debugger X * X * Copyright 1989 The University of Texas at Austin X * Copyright 1990 Microelectronics and Computer Technology Corporation X * X * Permission to use, copy, modify, and distribute this software and its X * documentation for any purpose and without fee is hereby granted, X * provided that the above copyright notice appear in all copies and that X * both that copyright notice and this permission notice appear in X * supporting documentation, and that the name of The University of Texas X * and Microelectronics and Computer Technology Corporation (MCC) not be X * used in advertising or publicity pertaining to distribution of X * the software without specific, written prior permission. The X * University of Texas and MCC makes no representations about the X * suitability of this software for any purpose. It is provided "as is" X * without express or implied warranty. X * X * THE UNIVERSITY OF TEXAS AND MCC DISCLAIMS ALL WARRANTIES WITH REGARD TO X * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND X * FITNESS, IN NO EVENT SHALL THE UNIVERSITY OF TEXAS OR MCC BE LIABLE FOR X * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER X * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF X * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN X * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. X * X * Author: Po Cheung X * Created: April 9, 1990 X * X *****************************************************************************/ X /* bitmaps.c X * X * Contain bitmap data for a 48x48 and a 64x64 mxgdb icon, and the X * stop sign, execution arrow, up-down arrow, and bomb sign used X * in the source window. Also contains the data for all the command X * buttons. The widths and height are in bitmaps.h. X */ X /* bitmap data for 48x48 mxgdb icon */ X char mxgdb48_bits[] = { X 0xff, 0x0f, 0x00, 0x00, 0x00, 0xf0, 0xfe, 0x1f, 0x00, 0x00, 0x00, 0xf0, X 0xfc, 0x3f, 0x00, 0x00, 0x00, 0x78, 0xfc, 0x3f, 0x00, 0x00, 0x00, 0x3c, X 0xf8, 0x7f, 0x00, 0x02, 0x00, 0x3c, 0xf0, 0xff, 0x00, 0x02, 0x00, 0x1e, X 0xe0, 0xff, 0x01, 0x04, 0x00, 0x0f, 0xe0, 0xff, 0x01, 0x04, 0x80, 0x07, X 0xc0, 0xff, 0xe3, 0xff, 0xc0, 0x03, 0x80, 0xff, 0x1f, 0x01, 0xc7, 0x03, X 0x00, 0xff, 0x27, 0x01, 0xf8, 0x01, 0x00, 0xff, 0xcf, 0x60, 0xf0, 0x10, X 0x00, 0xfe, 0x1f, 0x90, 0xf8, 0x10, 0x00, 0xfc, 0x3f, 0x90, 0xbc, 0x08, X 0x00, 0xfc, 0x7f, 0x60, 0x3c, 0x07, 0x00, 0xfe, 0xff, 0x03, 0x1e, 0x02, X 0x00, 0xfe, 0xff, 0x04, 0x0f, 0x02, 0x00, 0xff, 0xff, 0x85, 0x07, 0x04, X 0x80, 0xff, 0xff, 0xc3, 0xc3, 0x04, 0x80, 0xdf, 0xff, 0xe7, 0x23, 0x05, X 0x84, 0x9f, 0xff, 0xef, 0x25, 0x09, 0xc8, 0x19, 0xff, 0xf7, 0xc4, 0x08, X 0xf0, 0x18, 0xfe, 0x7b, 0x03, 0x08, 0xc0, 0x1f, 0xfc, 0x3d, 0x00, 0x08, X 0xc0, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xc0, 0x1f, 0x78, 0x7f, 0x00, 0x08, X 0xf0, 0x98, 0xbd, 0xff, 0x00, 0x08, 0xc8, 0x59, 0xde, 0xff, 0x61, 0x08, X 0x84, 0x5f, 0xef, 0xff, 0x91, 0x04, 0x80, 0x9f, 0xc7, 0xff, 0x93, 0x04, X 0x80, 0x9f, 0x87, 0xff, 0x67, 0x04, 0x00, 0xdf, 0x03, 0xff, 0x0f, 0x02, X 0x00, 0xfe, 0x19, 0xfe, 0x1f, 0x02, 0x00, 0xfe, 0x24, 0xfe, 0x1f, 0x07, X 0x00, 0x7c, 0x24, 0xfc, 0xff, 0x08, 0x00, 0x78, 0x18, 0xfa, 0x7f, 0x10, X 0x00, 0x3c, 0x00, 0xf2, 0xff, 0x10, 0x00, 0xde, 0x00, 0xfc, 0xff, 0x00, X 0x00, 0x8f, 0x0f, 0xe0, 0xff, 0x01, 0x80, 0x87, 0xf0, 0xff, 0xff, 0x03, X 0x80, 0x87, 0x00, 0x84, 0xff, 0x07, 0xc0, 0x43, 0x00, 0x84, 0xff, 0x07, X 0xe0, 0x21, 0x00, 0x02, 0xff, 0x0f, 0xf0, 0x00, 0x00, 0x02, 0xfe, 0x1f, X 0x78, 0x00, 0x00, 0x00, 0xfc, 0x3f, 0x78, 0x00, 0x00, 0x00, 0xfc, 0x3f, X 0x3c, 0x00, 0x00, 0x00, 0xf8, 0x7f, 0x1e, 0x00, 0x00, 0x00, 0xf0, 0xff}; X X /* bitmap data for 64x64 mxgdb icon */ X char mxgdb64_bits[] = { X 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xfe, 0xff, 0x01, 0x00, X 0x00, 0x00, 0x00, 0xf8, 0xfc, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x7c, X 0xf8, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x3e, 0xf8, 0xff, 0x07, 0x00, X 0x00, 0x00, 0x00, 0x1f, 0xf0, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x80, 0x0f, X 0xe0, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x80, 0x0f, 0xc0, 0xff, 0x3f, 0x00, X 0x00, 0x00, 0xc0, 0x07, 0xc0, 0xff, 0x3f, 0x00, 0x01, 0x00, 0xe0, 0x03, X 0x80, 0xff, 0x7f, 0x00, 0x02, 0x00, 0xf0, 0x01, 0x00, 0xff, 0xff, 0x00, X 0x04, 0x00, 0xf8, 0x00, 0x00, 0xfe, 0xff, 0x01, 0x04, 0x00, 0xf8, 0x00, X 0x00, 0xfe, 0xff, 0x01, 0x04, 0x00, 0x7c, 0x00, 0x00, 0xfc, 0xff, 0xff, X 0xff, 0x01, 0x3e, 0x04, 0x00, 0xf8, 0xff, 0x07, 0x00, 0x1e, 0x1f, 0x04, X 0x00, 0xf0, 0xff, 0x0f, 0x00, 0xe0, 0x0f, 0x04, 0x00, 0xf0, 0xff, 0x0f, X 0x80, 0x81, 0x07, 0x02, 0x00, 0xe0, 0xff, 0x1f, 0x40, 0xc2, 0x07, 0x01, X 0x00, 0xc0, 0xff, 0xbf, 0x41, 0xe2, 0x8b, 0x01, 0x00, 0xc0, 0xff, 0x7f, X 0x82, 0xf1, 0xd1, 0x00, 0x00, 0xe0, 0xff, 0xff, 0x02, 0xf8, 0x60, 0x00, X 0x00, 0xf0, 0xff, 0xff, 0x01, 0x7c, 0x40, 0x00, 0x00, 0xf8, 0xfe, 0xff, X 0x01, 0x7c, 0x80, 0x00, 0x00, 0xfc, 0xfc, 0xff, 0x03, 0x3e, 0x80, 0x00, X 0x00, 0xfc, 0xfc, 0xff, 0x03, 0x1f, 0x00, 0x01, 0x00, 0xfe, 0xf8, 0xff, X 0x87, 0x0f, 0x03, 0x01, 0x00, 0xff, 0xf0, 0xff, 0xcf, 0x87, 0x04, 0x02, X 0x08, 0xff, 0xe0, 0xff, 0xcf, 0x87, 0x04, 0x02, 0x10, 0xe7, 0xe0, 0xff, X 0xe7, 0x03, 0x03, 0x02, 0xe0, 0xe3, 0xc0, 0xff, 0xf3, 0x01, 0x00, 0x04, X 0x80, 0xff, 0x80, 0xff, 0xf9, 0x00, 0x00, 0x04, 0x80, 0xff, 0x00, 0xff, X 0xfc, 0x00, 0x00, 0x04, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, X 0x80, 0xff, 0x00, 0x7e, 0xfe, 0x01, 0x00, 0x04, 0x80, 0xff, 0x00, 0x3e, X 0xff, 0x1b, 0x00, 0x04, 0xe0, 0xe3, 0x00, 0x9f, 0xff, 0x27, 0x00, 0x04, X 0x10, 0xe7, 0xb0, 0xcf, 0xff, 0x2f, 0x30, 0x02, 0x08, 0xff, 0xc8, 0xe7, X 0xff, 0x1f, 0x48, 0x02, 0x00, 0xff, 0xe8, 0xe7, 0xff, 0x1f, 0x48, 0x02, X 0x00, 0xfe, 0xf0, 0xc3, 0xff, 0x3f, 0x30, 0x01, 0x00, 0xfc, 0xf0, 0xc1, X 0xff, 0x3f, 0x00, 0x01, 0x00, 0xfc, 0xf8, 0x80, 0xff, 0x7f, 0x80, 0x00, X 0x00, 0xf8, 0x7c, 0x00, 0xff, 0xff, 0x80, 0x00, 0x00, 0xf0, 0x7c, 0x18, X 0xfe, 0xff, 0xc1, 0x00, 0x00, 0xe0, 0x3e, 0x24, 0xfe, 0xff, 0x61, 0x00, X 0x00, 0xc0, 0x1f, 0x24, 0xfc, 0xff, 0xd3, 0x00, 0x00, 0x80, 0x0f, 0x18, X 0xf8, 0xff, 0x8f, 0x01, 0x00, 0xc0, 0x07, 0x00, 0xf4, 0xff, 0x0f, 0x01, X 0x00, 0xe0, 0x0f, 0x00, 0xe4, 0xff, 0x1f, 0x02, 0x00, 0xf0, 0x39, 0x00, X 0xf8, 0xff, 0x1f, 0x04, 0x00, 0xf0, 0xc9, 0x03, 0xc0, 0xff, 0x3f, 0x04, X 0x00, 0xf8, 0x08, 0xfc, 0xff, 0xff, 0x7f, 0x04, 0x00, 0x7c, 0x04, 0x00, X 0x01, 0xff, 0x7f, 0x00, 0x00, 0x3e, 0x02, 0x00, 0x01, 0xff, 0xff, 0x00, X 0x00, 0x3e, 0x00, 0x00, 0x01, 0xfe, 0xff, 0x01, 0x00, 0x1f, 0x00, 0x80, X 0x00, 0xfc, 0xff, 0x03, 0x80, 0x0f, 0x00, 0x00, 0x00, 0xf8, 0xff, 0x03, X 0xc0, 0x07, 0x00, 0x00, 0x00, 0xf8, 0xff, 0x07, 0xe0, 0x03, 0x00, 0x00, X 0x00, 0xf0, 0xff, 0x0f, 0xe0, 0x03, 0x00, 0x00, 0x00, 0xe0, 0xff, 0x1f, X 0xf0, 0x01, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x1f, 0xf8, 0x00, 0x00, 0x00, X 0x00, 0xc0, 0xff, 0x3f, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, X 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff}; X X /* bitmap data for stop sign */ X char stop_bits[] = { X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0xa0, 0x03, 0xb8, 0x0e, X 0xa8, 0x0a, 0xa8, 0x0a, 0xa8, 0x0a, 0x18, 0x08, 0x10, 0x08, 0x30, 0x0c, X 0xe0, 0x07, 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00}; X /* bitmap data for arrow sign */ X char arrow_bits[] = { X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x01, 0x80, 0x03, X 0xff, 0x07, 0xff, 0x0f, 0xff, 0x0f, 0xff, 0x07, 0x80, 0x03, 0x80, 0x01, X 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; X X /* bitmap data for up-down (outlined arrow) sign */ X char updown_bits[] = { X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x01, 0x80, 0x03, X 0xff, 0x06, 0x01, 0x0c, 0x01, 0x0c, 0xff, 0x06, 0x80, 0x03, 0x80, 0x01, X 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; X X /* bitmap data for bomb sign */ X char bomb_bits[] = { X 0x00, 0x00, 0x69, 0x00, 0x94, 0x00, 0x8a, 0x00, 0xc0, 0x01, 0xc5, 0x01, X 0xf0, 0x07, 0xf0, 0x07, 0xf8, 0x0f, 0xf8, 0x0d, 0xf8, 0x0d, 0xf8, 0x0d, X 0xf0, 0x06, 0xf0, 0x07, 0xc0, 0x01, 0x00, 0x00}; X /* bitmap data for the command buttons */ X char pageR_bits[] = { X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0xc0, 0x07, 0x00, X 0x40, 0x0f, 0x00, 0x40, 0x1e, 0x00, 0x40, 0x3c, 0x00, 0x40, 0x78, 0x00, X 0x40, 0xf0, 0x00, 0x40, 0xe0, 0x01, 0x40, 0xc0, 0x03, 0x40, 0x80, 0x07, X 0x40, 0x80, 0x07, 0x40, 0xc0, 0x03, 0x40, 0xe0, 0x01, 0x40, 0xf0, 0x00, X 0x40, 0x78, 0x00, 0x40, 0x3c, 0x00, 0x40, 0x1e, 0x00, 0x40, 0x0f, 0x00, X 0xc0, 0x07, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; X char pageL_bits[] = { X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0xe0, 0x03, X 0x00, 0xf0, 0x02, 0x00, 0x78, 0x02, 0x00, 0x3c, 0x02, 0x00, 0x1e, 0x02, X 0x00, 0x0f, 0x02, 0x80, 0x07, 0x02, 0xc0, 0x03, 0x02, 0xe0, 0x01, 0x02, X 0xe0, 0x01, 0x02, 0xc0, 0x03, 0x02, 0x80, 0x07, 0x02, 0x00, 0x0f, 0x02, X 0x00, 0x1e, 0x02, 0x00, 0x3c, 0x02, 0x00, 0x78, 0x02, 0x00, 0xf0, 0x02, X 0x00, 0xe0, 0x03, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; X char step_bits[] = { X 0x00, 0xc0, 0x00, 0x00, 0xe0, 0x01, 0x00, 0xf0, 0x03, 0x00, 0xf0, 0x07, X 0x00, 0xf8, 0x0f, 0x00, 0xf8, 0x0f, 0x00, 0xf8, 0x1f, 0x00, 0xf8, 0x1f, X 0x00, 0xf8, 0x1f, 0x00, 0xf8, 0x1f, 0x00, 0xf0, 0x1f, 0x00, 0xf0, 0x1f, X 0x00, 0xe0, 0x1f, 0x00, 0x80, 0x1f, 0x00, 0x00, 0x1f, 0x18, 0x00, 0x0f, X 0x3c, 0x00, 0x0e, 0x3e, 0x00, 0x00, 0x7f, 0x80, 0x0f, 0x7f, 0x80, 0x0f, X 0x7f, 0x80, 0x0f, 0xff, 0x00, 0x07, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00}; X char next_bits[] = { X 0x00, 0xc0, 0x00, 0x00, 0x20, 0x01, 0x00, 0x30, 0x03, 0x00, 0x10, 0x06, X 0x00, 0x18, 0x08, 0x00, 0x08, 0x08, 0x00, 0x08, 0x18, 0x00, 0x08, 0x10, X 0x00, 0x08, 0x10, 0x00, 0x08, 0x10, 0x00, 0x10, 0x10, 0x00, 0x10, 0x10, X 0x00, 0x60, 0x10, 0x00, 0x80, 0x19, 0x00, 0x00, 0x19, 0x18, 0x00, 0x0b, X 0x24, 0x00, 0x0e, 0x22, 0x00, 0x00, 0x41, 0x80, 0x0f, 0x41, 0x80, 0x08, X 0x40, 0x80, 0x08, 0x80, 0x00, 0x07, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00}; X char print_bits[] = { X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x0e, 0x60, X 0x1c, 0x07, 0x70, 0xb8, 0x83, 0x60, 0xf0, 0x01, 0x61, 0xe0, 0x00, 0x62, X 0xe0, 0xf8, 0x67, 0xf0, 0x01, 0x62, 0xb8, 0x03, 0x61, 0x1c, 0x87, 0x60, X 0x0e, 0x0e, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0xde, 0x93, 0x74, 0x52, 0x92, 0x25, 0xd2, 0x93, 0x26, 0xde, 0x91, 0x24, X 0x42, 0x92, 0x24, 0x42, 0x92, 0x24, 0x42, 0x92, 0x24, 0x00, 0x00, 0x00}; X char down_bits[] = { X 0x00, 0x00, 0xe0, 0x03, 0x20, 0x02, 0x20, 0x02, 0x20, 0x02, 0x20, 0x02, X 0x20, 0x02, 0x20, 0x02, 0x20, 0x02, 0x20, 0x02, 0x3c, 0x1e, 0x08, 0x08, X 0x10, 0x04, 0x20, 0x02, 0x40, 0x01, 0x80, 0x00}; X char up_bits[] = { X 0x80, 0x00, 0x40, 0x01, 0x20, 0x02, 0x10, 0x04, 0x08, 0x08, 0x3c, 0x1e, X 0x20, 0x02, 0x20, 0x02, 0x20, 0x02, 0x20, 0x02, 0x20, 0x02, 0x20, 0x02, X 0x20, 0x02, 0x20, 0x02, 0x20, 0x02, 0xe0, 0x03}; X char stack_bits[] = { X 0x00, 0x00, 0x00, 0x00, 0xfc, 0x7f, 0x00, 0x04, 0x00, 0xee, 0x04, 0x00, X 0xa2, 0xfc, 0x7f, 0xee, 0x04, 0x00, 0x28, 0x04, 0x00, 0x2e, 0xfc, 0x7f, X 0x00, 0x04, 0x00, 0x04, 0x04, 0x00, 0x44, 0xfc, 0x7f, 0x84, 0x54, 0x55, X 0xfc, 0xad, 0x2a, 0x80, 0x54, 0x55, 0x40, 0xfc, 0x7f, 0x00, 0x04, 0x00, X 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x04, 0x02, 0x00, 0x04, 0x00, X 0x00, 0x04, 0x02, 0x00, 0x04, 0x00, 0x00, 0x04, 0x02, 0x00, 0x00, 0x00}; X char cont_bits[] = { X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x27, 0xfa, 0xa2, 0x68, 0x22, X 0x82, 0xa8, 0x22, 0x82, 0x28, 0x23, 0x82, 0x28, 0x22, 0x82, 0x28, 0x22, X 0xa2, 0x28, 0x22, 0x1c, 0x27, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x7c, 0x00, 0x0c, 0xaa, 0xf8, 0x17, X 0xaa, 0x00, 0x20, 0x02, 0x01, 0x40, 0x02, 0x01, 0xc0, 0x82, 0xf8, 0x67, X 0xc6, 0xf0, 0x37, 0x7c, 0x00, 0x1c, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00}; X char finish_bits[] = { X 0x00, 0x00, 0x00, 0x08, 0x4f, 0x22, 0x04, 0x41, 0x26, 0x04, 0x47, 0x2a, X 0x04, 0x41, 0x32, 0x02, 0x41, 0x22, 0x04, 0x41, 0x22, 0x04, 0x00, 0x00, X 0x04, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x88, 0x01, X 0x00, 0x88, 0x01, 0x00, 0x88, 0x01, 0x08, 0x88, 0x01, 0x10, 0x88, 0x01, X 0x10, 0x88, 0x01, 0x10, 0x8f, 0x07, 0x20, 0x02, 0x06, 0x10, 0x04, 0x03, X 0x10, 0x88, 0x01, 0x10, 0xd0, 0x00, 0x08, 0x60, 0x00, 0x00, 0x00, 0x00}; X char run_bits[] = { X 0x00, 0x00, 0x00, 0x7c, 0x42, 0x21, 0x84, 0x42, 0x23, 0x84, 0x42, 0x25, X 0x7c, 0x42, 0x29, 0x24, 0x42, 0x31, 0x44, 0x42, 0x21, 0x84, 0x42, 0x21, X 0x84, 0x3c, 0x21, 0x00, 0x00, 0x00, 0xfc, 0xff, 0x3f, 0x80, 0x80, 0x01, X 0x80, 0x80, 0x01, 0x80, 0x80, 0x01, 0x80, 0x80, 0x01, 0x80, 0x80, 0x01, X 0xf0, 0x80, 0x0f, 0x20, 0x00, 0x06, 0x40, 0x00, 0x03, 0x80, 0x80, 0x01, X 0x00, 0xc1, 0x00, 0x00, 0x62, 0x00, 0x00, 0x34, 0x00, 0x00, 0x18, 0x00}; X char disp_bits[] = { X 0x00, 0x00, 0x00, 0xc0, 0x01, 0x00, 0x30, 0x06, 0x00, 0x08, 0x08, 0x00, X 0x04, 0x10, 0x20, 0x24, 0x12, 0x30, 0x62, 0x23, 0x21, 0xc2, 0x21, 0x22, X 0xc2, 0xa1, 0x27, 0x62, 0x23, 0x22, 0x24, 0x22, 0x21, 0x04, 0x10, 0x70, X 0x08, 0x08, 0x00, 0x30, 0x06, 0x00, 0xc0, 0x01, 0x00, 0x00, 0x00, 0x00, X 0x38, 0xe2, 0x1c, 0x48, 0x12, 0x24, 0x48, 0x12, 0x24, 0x48, 0xf2, 0x1c, X 0x48, 0x82, 0x04, 0x48, 0x82, 0x04, 0x38, 0x72, 0x04, 0x00, 0x00, 0x00}; X char undisp_bits[] = { X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x01, 0x01, X 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0x08, X 0x00, 0x00, 0x00, 0x20, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0x00, 0x08, X 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, X 0x00, 0x54, 0x00, 0x00, 0x00, 0x00, 0x2a, 0x4d, 0x77, 0x6a, 0x55, 0x51, X 0xaa, 0x55, 0x77, 0x2a, 0x55, 0x14, 0x2e, 0x4d, 0x17, 0x00, 0x00, 0x00}; X char clear_bits[] = { X 0x00, 0x54, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, X 0x00, 0x00, 0x00, 0x20, 0x00, 0x08, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, X 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, 0x20, 0x00, 0x08, X 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, X 0x00, 0x54, 0x00, 0x00, 0x00, 0x00, 0x5c, 0xdc, 0x7b, 0x44, 0x44, 0x4a, X 0x44, 0xdc, 0x7b, 0x44, 0x44, 0x2a, 0xdc, 0x5d, 0x4a, 0x00, 0x00, 0x00}; X char prints_bits[] = { X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0xc0, 0x30, 0x20, 0xd4, 0x39, 0x30, 0x88, 0x1f, 0x21, 0x3e, 0x0f, 0x22, X 0x08, 0xcf, 0x27, 0x94, 0x1f, 0x22, 0xc0, 0x39, 0x21, 0xc0, 0x30, 0x70, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0xee, 0x4a, 0x57, 0xaa, 0x5a, 0x22, 0xee, 0x6a, 0xfa, X 0x62, 0x4a, 0x22, 0xa2, 0x4a, 0x52, 0xa2, 0x4a, 0x02, 0x00, 0x00, 0x00}; X char args_bits[] = { X 0x00, 0x00, 0x00, 0x88, 0xc7, 0x71, 0x94, 0x28, 0x0a, 0xa2, 0x28, 0x08, X 0xa2, 0x27, 0x78, 0xbe, 0xa2, 0x43, 0xa2, 0x24, 0x42, 0xa2, 0x28, 0x42, X 0xa2, 0xc8, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x04, 0x10, 0xcc, 0x02, 0x20, X 0x78, 0x02, 0x20, 0x30, 0x02, 0x20, 0x78, 0x02, 0x20, 0xcc, 0xa2, 0x22, X 0x84, 0x04, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; X char locals_bits[] = { X 0x00, 0x00, 0x00, 0x30, 0x00, 0x18, 0x08, 0x00, 0x20, 0x08, 0x00, 0x20, X 0x08, 0x00, 0x20, 0x10, 0x00, 0x10, 0x10, 0x00, 0x10, 0x08, 0x00, 0x20, X 0x10, 0x00, 0x10, 0x90, 0x99, 0x11, 0x88, 0x99, 0x21, 0x08, 0x00, 0x20, X 0x08, 0x00, 0x20, 0x30, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x00, 0x84, 0x31, 0x13, 0x44, 0x8a, 0x14, 0x44, 0x8a, 0x14, X 0x44, 0x8a, 0x17, 0x44, 0x8a, 0x14, 0x9c, 0xb1, 0x74, 0x00, 0x00, 0x00}; X /* The bitmap data for the triton logo. */ X char triton_bits[] = { X 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, X 0xff, 0xff, 0xff, 0xff, 0x03, 0x00, 0x00, 0xff, 0x13, 0x00, 0x00, 0xc0, X 0x03, 0x00, 0x00, 0xfe, 0x09, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xfc, X 0x05, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xf8, 0x0b, 0x00, 0x00, 0xc0, X 0x03, 0xf8, 0x3f, 0xf0, 0x17, 0x00, 0x00, 0xc0, 0x03, 0xf8, 0x5f, 0xe0, X 0x2f, 0x00, 0x00, 0xc0, 0x03, 0xf8, 0x2f, 0xc0, 0x5f, 0x00, 0x00, 0xc0, X 0x03, 0xf8, 0x17, 0x80, 0xbf, 0x00, 0x00, 0xc0, 0x03, 0xf8, 0x2f, 0x00, X 0x7f, 0x01, 0x00, 0xc0, 0x03, 0xf8, 0x5f, 0x00, 0xfe, 0x02, 0x00, 0xc0, X 0x03, 0xf8, 0xbf, 0x00, 0xfc, 0x05, 0x00, 0xc0, 0x03, 0xf8, 0x7f, 0x01, X 0xf8, 0x0b, 0x00, 0xc0, 0x03, 0xb8, 0xff, 0x02, 0xf0, 0x17, 0x00, 0xc0, X 0x03, 0x18, 0xff, 0x05, 0xe0, 0x2f, 0x00, 0xc0, 0x63, 0x08, 0xfe, 0x0b, X 0xe0, 0x2f, 0x00, 0xc0, 0xa3, 0x00, 0xfc, 0x17, 0xc0, 0x5f, 0x00, 0xc0, X 0x63, 0x01, 0xf8, 0x2f, 0xc0, 0x5f, 0x00, 0xc0, 0xe3, 0x02, 0xf0, 0x5f, X 0xc0, 0x5f, 0x00, 0xc0, 0xe3, 0x05, 0xe0, 0xbf, 0xc0, 0x5f, 0x00, 0xc0, X 0xe3, 0x0b, 0xc0, 0x7f, 0xc1, 0x5f, 0x00, 0xc0, 0xe3, 0x17, 0x80, 0xff, X 0xe2, 0x6f, 0x00, 0xc0, 0xe3, 0x2f, 0x00, 0xff, 0xff, 0x17, 0x00, 0xc0, X 0xe3, 0x5f, 0x00, 0xfe, 0xff, 0x0b, 0x00, 0xc0, 0xe3, 0xbf, 0x00, 0xfc, X 0xff, 0x17, 0x00, 0xc0, 0xe3, 0x7f, 0x01, 0xf8, 0xff, 0x2f, 0x00, 0xc0, X 0xe3, 0xff, 0x02, 0xf0, 0xff, 0x5f, 0x00, 0xc0, 0xe3, 0xfc, 0x05, 0xf0, X 0xff, 0x3f, 0x00, 0xc0, 0x63, 0xf8, 0x0b, 0xf0, 0xff, 0x07, 0x00, 0xc0, X 0x23, 0xf0, 0x17, 0xf0, 0xff, 0x03, 0x00, 0xc0, 0x03, 0xe0, 0x2f, 0xf0, X 0xff, 0x03, 0x00, 0xc0, 0x03, 0xc0, 0xff, 0xf8, 0xff, 0x05, 0x00, 0xc0, X 0x03, 0x80, 0xff, 0xff, 0xff, 0x0b, 0x00, 0xc0, 0x03, 0x00, 0xff, 0xff, X 0xff, 0x17, 0x00, 0xc0, 0x03, 0x00, 0xfe, 0xff, 0xff, 0x2f, 0x00, 0xc0, X 0x03, 0x00, 0xfc, 0xff, 0xcf, 0x5f, 0x00, 0xc0, 0x03, 0x00, 0xf8, 0xdf, X 0x87, 0xbf, 0x00, 0xc0, 0x03, 0x00, 0xf0, 0x8f, 0x03, 0x7f, 0x01, 0xc0, X 0x03, 0x00, 0xc0, 0x07, 0x03, 0xfe, 0x02, 0xc0, 0x03, 0x00, 0x00, 0x00, X 0x02, 0xfc, 0x05, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x0b, 0xc0, X 0x03, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x17, 0xc0, 0x03, 0x00, 0x00, 0x00, X 0x00, 0xe0, 0x2f, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x5f, 0xc0, X 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0xbf, 0xc0, 0x03, 0x00, 0x00, 0x00, X 0x00, 0x00, 0x7f, 0xc1, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xc2, X 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xc5, 0x03, 0x00, 0x00, 0x00, X 0x00, 0x00, 0xf8, 0xcb, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xd7, X 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xef, 0x03, 0x00, 0x00, 0x00, X 0x00, 0x00, 0xc0, 0xdf, 0xff, 0xf1, 0x1f, 0xff, 0xf1, 0x1f, 0xff, 0xbf, X 0xff, 0xf1, 0x1f, 0xff, 0xf1, 0x1f, 0xff, 0x7f, 0x83, 0x31, 0x18, 0x83, X 0x31, 0x18, 0x83, 0xff, 0x83, 0x31, 0x18, 0x83, 0x31, 0x18, 0x83, 0xfd, X 0xf3, 0x31, 0x1f, 0xf3, 0x31, 0x1f, 0xf3, 0xf9, 0xf3, 0x31, 0x1f, 0xf3, X 0x31, 0x1f, 0xf3, 0xf1, 0xf3, 0x31, 0x1f, 0xf3, 0x31, 0x1f, 0xf3, 0xf1, X 0x33, 0x30, 0x03, 0x33, 0x30, 0x03, 0x33, 0xf0, 0x33, 0x30, 0x03, 0x33, X 0x30, 0x03, 0x33, 0xb0, 0xf3, 0x3f, 0xff, 0xf3, 0x3f, 0xff, 0xf3, 0x3f, X 0xf3, 0x3f, 0xff, 0xf3, 0x3f, 0xff, 0xf3, 0x3f}; X SHAR_EOF chmod 0664 mxgdb/bitmaps.c || echo 'restore of mxgdb/bitmaps.c failed' Wc_c="`wc -c < 'mxgdb/bitmaps.c'`" test 19079 -eq "$Wc_c" || echo 'mxgdb/bitmaps.c: original size 19079, current size' "$Wc_c" rm -f _shar_wnt_.tmp fi # ============= mxgdb/gdb_handler.c ============== if test -f 'mxgdb/gdb_handler.c' -a X"$1" != X"-c"; then echo 'x - skipping mxgdb/gdb_handler.c (File already exists)' rm -f _shar_wnt_.tmp else > _shar_wnt_.tmp echo 'x - extracting mxgdb/gdb_handler.c (Text)' sed 's/^X//' << 'SHAR_EOF' > 'mxgdb/gdb_handler.c' && /* $id: gdb_handler.c,v 1.9 1991/08/07 21:30:40 jtsillas Exp $ */ X /***************************************************************************** X * X * xdbx - X Window System interface to the dbx debugger X * X * Copyright 1989 The University of Texas at Austin X * Copyright 1990 Microelectronics and Computer Technology Corporation X * X * Permission to use, copy, modify, and distribute this software and its X * documentation for any purpose and without fee is hereby granted, X * provided that the above copyright notice appear in all copies and that X * both that copyright notice and this permission notice appear in X * supporting documentation, and that the name of The University of Texas X * and Microelectronics and Computer Technology Corporation (MCC) not be X * used in advertising or publicity pertaining to distribution of X * the software without specific, written prior permission. The X * University of Texas and MCC makes no representations about the X * suitability of this software for any purpose. It is provided "as is" X * without express or implied warranty. X * X * THE UNIVERSITY OF TEXAS AND MCC DISCLAIMS ALL WARRANTIES WITH REGARD TO X * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND X * FITNESS, IN NO EVENT SHALL THE UNIVERSITY OF TEXAS OR MCC BE LIABLE FOR X * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER X * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF X * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN X * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. X * X * Author: Po Cheung X * Created: March 10, 1989 X * X ***************************************************************************** X * X * xxgdb - X Window System interface to the gdb debugger X * X * Copyright 1990 Thomson Consumer Electronics, Inc. X * X * Permission to use, copy, modify, and distribute this software and its X * documentation for any purpose and without fee is hereby granted, X * provided that the above copyright notice appear in all copies and that X * both that copyright notice and this permission notice appear in X * supporting documentation, and that the name of Thomson Consumer X * Electronics (TCE) not be used in advertising or publicity pertaining X * to distribution of the software without specific, written prior X * permission. TCE makes no representations about the suitability of X * this software for any purpose. It is provided "as is" without express X * or implied warranty. X * X * TCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING X * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT X * SHALL TCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES X * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, X * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, X * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS X * SOFTWARE. X * X * Adaptation to GDB: Pierre Willard X * XXGDB Created: December, 1990 X * X ***************************************************************************** X /* gdb_handler.c X * X * WARNING : gdb_handler.c is included by handler.c for GDB. X * X * Contain action handlers for the parser to invoke upon a dbx command. X * X * updown_handler(): Update file, line label, updown arrow position. X * debug_handler(): Check directory use list, display main source file. X * pwd_handler(): Update current working directory. X * search_handler(): Adjust source file to display matched line. X * display_info_handler(): Update display window. X * break_handler(): Place stop sign on line or function or address specified. X * info_dir_handler(): Update search directory list. X * directory_handler(): Update search directory list. X * list_handler(): Adjust source file to display result. X * info_line_handler(): Update current file. X * clear_handler(): Remove stop sign. X * display_handler(): Update display window. X * info_break_handler(): Update stop signs. X * cd_handler(): Record current working directory. X * frame_curr_handler(): Update current function name. X * exec_handler(): Update file, line label, arrow position. X * done_handler(): Progrm execution completed, clear breakpoints X * source_handler(): Exec commands of source file specified. X * query_dbx_echo(): Send command with echo on. X */ X #include #include #include X #ifdef SYSV # include #endif X void query_dbx_echo(); X /* X * Display an outlined arrow to locate the calling routine in a stack X * frame. X * The appropriate file with the calling routine is displayed and the X * file variable is set accordingly. X */ void updown_handler() { X char command[LINESIZ], *func, *file; X int line; X X line = Token.line; X func = XtNewString(Token.func); X if (line <= 0) line = 1; X LoadCurrentFile(); X if (displayedFile) X file = displayedFile->pathname; X if (line <= 0 || func == NULL || file == NULL) X { X XtFree(func); X return; X } X X if (displayedFile && strcmp(file, displayedFile->pathname)) { X LoadFile(file); X } X updown.line = line; X strcpy(updown.func, func); X if (displayedFile) X strcpy(updown.file, displayedFile->pathname); SHAR_EOF true || echo 'restore of mxgdb/gdb_handler.c failed' fi echo 'End of part 9' echo 'File mxgdb/gdb_handler.c is continued in part 10' echo 10 > _shar_seq_.tmp exit 0