xterm - 1996/1/7 - patch #2 - T.Dickey This is my second patch to xterm. It corrects most of the gcc warnings (except for some that are due to X header files ;-). I compared objects to keep track of the changes that don't affect the object code (n/c) versus those that do. At this point, I'm compiling (fairly) clean with gcc options -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wnested-externs (I also compiled with -Wshadow, but while that found some things that I wanted to find, there's far too many warnings from the X headers to be usable in this context). The changes: Tekproc.c: + parenthesized expression to avoid gcc warning -- n/c. + corrected nested-extern declaration for Bool waiting_for_initial_map; ourTopLevelShellArgs, and number_ourTopLevelShellArgs - n/c charproc.c: + corrected potentially-unintialized variables 'scstype', 'xim', and 'input_style' -- changes object. + adjusted logic of VTparse so that gcc won't warn about setjmp clobbering parsestate -- changes object. + corrected initialization of 'scstype', which could have been clobbered by setjmp/longjmp - changes object. + corrected nested-extern declaration of 'term', 'ProgramName' - n/c cursor.c: + corrected nested-extern declaration of 'term' -- n/c + renamed 'term' parameters to avoid gcc -Wshadow warning - n/c input.c: + change interface of StringInput to assume size_t (i.e., unsigned) nbytes -- changes object. + change interface of funcvalue, and sunfuncvalue to use 'KeySym' type instead of 'int' - changes object. main.c: + moved definitions of SIGNAL_T, SIGNAL_RETURN to proto.h - n/c + corrected missing params of 'do_hangup()' -- changes object (note: the missing params were not used). + corrected missing param of 'Error()' -- changes object + corrected nested-extern 'environ' - n/c + adjusted assignments to 'tty_got_hung' and 'no_dev_tty' so that gcc can see they won't be clobbered by the longjmp - changes object. + use Size_t type - n/c. menu.c: + removed redundant prototype for 'do_hangup()' -- n/c. + renamed 'time' parameters to avoid gcc -Wshadow warning - n/c menu.h: + renamed 'time' parameters to avoid gcc -Wshadow warning - n/c misc.c: + corrected definition of 'HandleFocusChange()' -- changes object + cast parameters in call to 'TekExpose()' -- n/c + corrected nested-extern declarations of 'term', 'toplevel', ProgramName, and 'environ' -- n/c. + use Size_t type - n/c. proto.h: + moved definition of SIGNAL_T (and SIGNAL_RETURN) here from main.c, resize.c to allow use of this symbol in prototypes (mostly in xterm.h). + added definition 'Size_t' to use as corrected type for strncpy, malloc sizes - n/c. resize.c: + moved SIGNAL_T definition to proto.h -- n/c. + use Size_t type - n/c. screen.c: + use Size_t type - n/c. tabs.c: + corrected nested-extern declaration of 'term' -- n/c util.c: + corrected/supplied parameters to 'TekExpose()' -- changes object (note: 'TekExpose()' doesn't use its parameters). + corrected nested-extern declaration of 'waiting_for_initial_map' -- n/c. + renamed 'term' parameters to avoid gcc -Wshadow warning - n/c xterm.h: + prototype 'do_hangup()', 'HandleFocusChange()', 'TekExpose()', 'Error()', 'Exit()' - forces changes in various places. + adjusted prototypes that pass 'Boolean' arguments to use 'int' (this is the "correct" ANSI approach to extended compiles; it's worth mentioning that gcc doesn't meet the ANSI spec here). I used gcc -Wconversion to find these, but there's a lot of unrelated warnings that are due to setting NARROWPROTO in the config - n/c. + renamed 'term' parameters to avoid gcc -Wshadow warning - n/c -------------------------------------------------------------------------------- Tekproc.c | 11 +++++------ charproc.c | 19 +++++++++++-------- cursor.c | 27 +++++++++++++-------------- input.c | 12 ++++++------ main.c | 33 +++++++++++---------------------- menu.c | 7 +++---- menu.h | 2 +- misc.c | 31 ++++++++++++++++--------------- proto.h | 15 +++++++++++++++ resize.c | 8 +------- screen.c | 5 +++-- tabs.c | 3 ++- util.c | 25 +++++++++++++------------ xterm.h | 31 +++++++++++++++++-------------- 14 files changed, 117 insertions, 112 deletions -------------------------------------------------------------------------------- Index: Tekproc.c --- xterm-original/Tekproc.c Sat Jan 6 18:10:07 1996 +++ xterm-patched/Tekproc.c Sun Jan 7 11:04:36 1996 @@ -159,6 +159,9 @@ #define unput(c) *Tpushback++ = c extern Widget toplevel; +extern Bool waiting_for_initial_map; +extern Arg ourTopLevelShellArgs[]; +extern int number_ourTopLevelShellArgs; static struct Tek_Char { int hsize; /* in Tek units */ @@ -352,9 +355,6 @@ static TekWidget CreateTekWidget () { - extern Arg ourTopLevelShellArgs[]; - extern int number_ourTopLevelShellArgs; - /* this causes the Initialize method to be called */ tekshellwidget = XtCreatePopupShell ("tektronix", topLevelShellWidgetClass, toplevel, ourTopLevelShellArgs, @@ -854,7 +854,6 @@ Region region; { register TScreen *screen = &term->screen; - extern Bool waiting_for_initial_map; #ifdef lint region = region; @@ -994,8 +993,8 @@ (t = &TekChar[screen->cur.fontsize])->hsize ); - if(screen->margin == MARGIN1 && x < 0 || screen->margin == MARGIN2 - && x < TEKWIDTH / 2) { + if(((screen->margin == MARGIN1) && (x < 0)) + || ((screen->margin == MARGIN2) && (x < TEKWIDTH / 2))) { if((l = (screen->cur_Y + (t->vsize - 1)) / t->vsize + 1) >= t->nlines) { screen->margin = !screen->margin; Index: charproc.c --- xterm-original/charproc.c Sat Jan 6 19:52:54 1996 +++ xterm-patched/charproc.c Sun Jan 7 10:55:38 1996 @@ -112,9 +112,10 @@ #include "xterm.h" extern jmp_buf VTend; - +extern XtermWidget term; extern XtAppContext app_con; extern Widget toplevel; +extern char *ProgramName; extern int LoadNewFont PROTO((TScreen *screen, char *nfontname, char *bfontname, Bool doresize, int fontnum)); extern int in_put PROTO((void)); @@ -705,13 +706,17 @@ static void VTparse() { register TScreen *screen = &term->screen; - register int *parsestate = groundtable; + register int *parsestate; register unsigned int c; register unsigned char *cp; register int row, col, top, bot, scstype; - if(setjmp(vtjmpbuf)) - parsestate = groundtable; + /* We longjmp back to this point in VTReset() */ + (void)setjmp(vtjmpbuf); + + parsestate = groundtable; + scstype = 0; + for( ; ; ) { switch (parsestate[c = doinput()]) { case CASE_PRINT: @@ -2266,7 +2271,6 @@ { char buf[2]; register i = 1; - extern XtermWidget term; #ifdef AMOEBA if (ttypreprocess(c)) return; @@ -2809,9 +2813,9 @@ *end, tmp[1024], buf[32]; - XIM xim; + XIM xim = 0; XIMStyles *xim_styles; - XIMStyle input_style; + XIMStyle input_style = 0; Boolean found; term->screen.xic = NULL; @@ -3246,7 +3250,6 @@ int numbers; /* count of numbers per range */ int digits; /* count of digits in a number */ static char *errfmt = "%s: %s in range string \"%s\" (position %d)\n"; - extern char *ProgramName; if (!s || !s[0]) return -1; Index: cursor.c --- xterm-original/cursor.c Sat Jan 6 18:01:03 1996 +++ xterm-patched/cursor.c Sun Jan 7 12:20:50 1996 @@ -31,13 +31,13 @@ #include "xterm.h" +extern XtermWidget term; /* %%% gross */ + static void _CheckSelection PROTO((TScreen *screen)); static void _CheckSelection(screen) register TScreen *screen; { - extern XtermWidget term; /* %%% gross */ - if (screen->cur_row > screen->endHRow || (screen->cur_row == screen->endHRow && screen->cur_col >= screen->endHCol)) {} @@ -82,7 +82,6 @@ int n; { register int i, j, k, rev; - extern XtermWidget term; if((rev = (term->flags & (REVERSEWRAP | WRAPAROUND)) == (REVERSEWRAP | WRAPAROUND)) && screen->do_wrap) @@ -224,15 +223,15 @@ * Save Cursor and Attributes */ void -CursorSave(term, sc) -register XtermWidget term; +CursorSave(tw, sc) +register XtermWidget tw; register SavedCursor *sc; { - register TScreen *screen = &term->screen; + register TScreen *screen = &tw->screen; sc->row = screen->cur_row; sc->col = screen->cur_col; - sc->flags = term->flags; + sc->flags = tw->flags; sc->curgl = screen->curgl; sc->curgr = screen->curgr; memmove( sc->gsets, screen->gsets, sizeof(screen->gsets)); @@ -242,17 +241,17 @@ * Restore Cursor and Attributes */ void -CursorRestore(term, sc) -register XtermWidget term; +CursorRestore(tw, sc) +register XtermWidget tw; register SavedCursor *sc; { - register TScreen *screen = &term->screen; + register TScreen *screen = &tw->screen; memmove( screen->gsets, sc->gsets, sizeof(screen->gsets)); screen->curgl = sc->curgl; screen->curgr = sc->curgr; - term->flags &= ~(BOLD|INVERSE|UNDERLINE|ORIGIN); - term->flags |= sc->flags & (BOLD|INVERSE|UNDERLINE|ORIGIN); - CursorSet (screen, (term->flags & ORIGIN) ? sc->row - screen->top_marg - : sc->row, sc->col, term->flags); + tw->flags &= ~(BOLD|INVERSE|UNDERLINE|ORIGIN); + tw->flags |= sc->flags & (BOLD|INVERSE|UNDERLINE|ORIGIN); + CursorSet (screen, (tw->flags & ORIGIN) ? sc->row - screen->top_marg + : sc->row, sc->col, tw->flags); } Index: input.c --- xterm-original/input.c Sat Jan 6 18:24:21 1996 +++ xterm-patched/input.c Sun Jan 7 11:58:18 1996 @@ -41,8 +41,8 @@ static char *kypd_apl = " ABCDEFGHIJKLMNOPQRSTUVWXYZ??????abcdefghijklmnopqrstuvwxyzXXX"; static char *cur = "DACB"; -static int funcvalue PROTO((int keycode)); -static int sunfuncvalue PROTO((int keycode)); +static int funcvalue PROTO((KeySym keycode)); +static int sunfuncvalue PROTO((KeySym keycode)); static void AdjustAfterInput PROTO((TScreen *screen)); extern Boolean sunFunctionKeys; @@ -185,7 +185,7 @@ StringInput (screen, string, nbytes) register TScreen *screen; register char *string; - int nbytes; + Size_t nbytes; { int pty = screen->respond; @@ -194,14 +194,14 @@ TekGINoff(); nbytes--; } - while (nbytes-- > 0) + while (nbytes-- != 0) unparseputc(*string++, pty); if(!screen->TekEmu) AdjustAfterInput(screen); } static int funcvalue (keycode) - int keycode; + KeySym keycode; { switch (keycode) { case XK_F1: return(11); @@ -242,7 +242,7 @@ static int sunfuncvalue (keycode) - int keycode; + KeySym keycode; { switch (keycode) { case XK_F1: return(224); Index: main.c --- xterm-original/main.c Sat Jan 6 19:50:50 1996 +++ xterm-patched/main.c Sun Jan 7 11:39:35 1996 @@ -422,16 +422,6 @@ #endif #endif -#ifdef SIGNALRETURNSINT -#define SIGNAL_T int -#define SIGNAL_RETURN return 0 -#else -#define SIGNAL_T void -#define SIGNAL_RETURN return -#endif - -SIGNAL_T Exit(); - #ifndef X_NOT_POSIX #include #else @@ -577,7 +567,7 @@ static int override_tty_modes = 0; struct _xttymodes { char *name; - int len; + Size_t len; int set; char value; } ttymodelist[] = { @@ -1000,9 +990,6 @@ Widget toplevel; Bool waiting_for_initial_map; -extern void do_hangup(); -extern void xt_error(); - /* * DeleteWindow(): Action proc to implement ICCCM delete_window. */ @@ -1018,12 +1005,12 @@ if (term->screen.Tshow) hide_vt_window(); else - do_hangup(w); + do_hangup(w, (XtPointer)0, (XtPointer)0); else if (term->screen.Vshow) hide_tek_window(); else - do_hangup(w); + do_hangup(w, (XtPointer)0, (XtPointer)0); } /* ARGSUSED */ @@ -1056,7 +1043,6 @@ register TScreen *screen; register int pty; int Xsocket, mode; - int xerror(), xioerror(); #ifdef I18N XtSetLanguageProc(NULL,NULL,NULL); @@ -1605,14 +1591,14 @@ #else /* !MINIX */ #ifdef USE_SYSV_TERMIO if (0 > (mode = fcntl(pty, F_GETFL, 0))) - Error(); + Error(1); #ifdef O_NDELAY mode |= O_NDELAY; #else mode |= O_NONBLOCK; #endif /* O_NDELAY */ if (fcntl(pty, F_SETFL, mode)) - Error(); + Error(1); #else /* USE_SYSV_TERMIO */ mode = 1; if (ioctl (pty, FIONBIO, (char *)&mode) == -1) SysError (ERROR_FIONBIO); @@ -1969,6 +1955,8 @@ #ifndef AMOEBA +extern char **environ; + int spawn () /* @@ -2060,7 +2048,7 @@ setgid (screen->gid); setuid (screen->uid); } else { - Bool tty_got_hung = False; + Bool tty_got_hung; /* * Sometimes /dev/tty hangs on open (as in the case of a pty @@ -2072,6 +2060,7 @@ if (! setjmp(env)) { tty = open ("/dev/tty", O_RDWR, 0); alarm(0); + tty_got_hung = False; } else { tty_got_hung = True; tty = -1; @@ -2085,6 +2074,7 @@ * no controlling terminal, but some systems (e.g. SunOS 4.0) * seem to return EIO. Solaris 2.3 is said to return EINVAL. */ + no_dev_tty = FALSE; if (tty < 0) { if (tty_got_hung || errno == ENXIO || errno == EIO || errno == EINVAL || errno == ENOTTY) { @@ -2277,7 +2267,6 @@ /* * now in child process */ - extern char **environ; #if defined(_POSIX_SOURCE) || defined(SVR4) || defined(__convex__) int pgrp = setsid(); #else @@ -3751,7 +3740,7 @@ { #ifndef USE_SYSV_ENVVARS register char *ptr1, *ptr2; - register int i; + register Size_t i; register int li_first = 0; register char *temp; Index: menu.c --- xterm-original/menu.c Sat Jan 6 20:14:35 1996 +++ xterm-patched/menu.c Sun Jan 7 12:24:09 1996 @@ -52,7 +52,6 @@ static void do_logging PROTO_XT_CALLBACK_ARGS; #endif -extern void do_hangup PROTO_XT_CALLBACK_ARGS; static void do_allow132 PROTO_XT_CALLBACK_ARGS; static void do_allowsends PROTO_XT_CALLBACK_ARGS; static void do_altscreen PROTO_XT_CALLBACK_ARGS; @@ -387,8 +386,8 @@ */ /* ARGSUSED */ -void DoSecureKeyboard (time) - Time time; +void DoSecureKeyboard (tp) + Time tp; { do_securekbd (term->screen.mainMenu, NULL, NULL); } @@ -854,7 +853,7 @@ } else if (screen->Tshow || allowswitch) { /* is showing, turn off */ set_vt_visibility (FALSE); if (!screen->TekEmu && TekRefresh) dorefresh (); - end_vt_mode (); + end_vt_mode (); /* WARNING: this does a longjmp... */ } else Bell(); } Index: menu.h --- xterm-original/menu.h Sat Jan 6 20:08:57 1996 +++ xterm-patched/menu.h Sun Jan 7 12:23:42 1996 @@ -79,7 +79,7 @@ extern void HandleLogging PROTO_XT_ACTIONS_ARGS; #endif -extern void DoSecureKeyboard PROTO((Time time)); +extern void DoSecureKeyboard PROTO((Time tp)); /* * The following definitions MUST match the order of entries given in Index: misc.c --- xterm-original/misc.c Sat Jan 6 18:06:21 1996 +++ xterm-patched/misc.c Sun Jan 7 11:28:52 1996 @@ -55,6 +55,8 @@ #include "module/proc.h" #endif +extern char **environ; /* used in 'Setenv()' */ + extern jmp_buf Tekend; extern jmp_buf VTend; @@ -65,6 +67,9 @@ extern char *getenv(); #endif +extern XtermWidget term; +extern Widget toplevel; /* used in 'ChangeGroup()' */ + extern Boolean AllocateColor PROTO((XtermWidget pTerm, ScrnColors *pNew, int ndx, char *name)); extern Boolean ChangeColorsRequest PROTO((XtermWidget pTerm, int start, char *names)); extern Boolean GetOldColors PROTO(( XtermWidget pTerm)); @@ -121,7 +126,7 @@ Cursor make_colored_cursor (cursorindex, fg, bg) - int cursorindex; /* index into font */ + unsigned cursorindex; /* index into font */ unsigned long fg, bg; /* pixel value */ { register TScreen *screen = &term->screen; @@ -253,11 +258,13 @@ /*ARGSUSED*/ -void HandleFocusChange(w, eventdata, event) +void HandleFocusChange(w, eventdata, ev, cont) Widget w; -register XFocusChangeEvent *event; -caddr_t eventdata; +XEvent *ev; +XtPointer eventdata; +Boolean *cont; { + register XFocusChangeEvent *event = (XFocusChangeEvent *)ev; register TScreen *screen = &term->screen; if(event->type == FocusIn) @@ -337,7 +344,6 @@ void Bell() { - extern XtermWidget term; register TScreen *screen = &term->screen; struct timeval curtime; long now_msecs; @@ -382,7 +388,6 @@ void VisualBell() { - extern XtermWidget term; register TScreen *screen = &term->screen; register Pixel xorPixel = screen->foreground ^ term->core.background_pixel; XGCValues gcval; @@ -443,7 +448,6 @@ void Redraw() { - extern XtermWidget term; register TScreen *screen = &term->screen; XExposeEvent event; @@ -466,7 +470,7 @@ event.window = TWindow(screen); event.width = tekWidget->core.width; event.height = tekWidget->core.height; - TekExpose (tekWidget, &event, NULL); + TekExpose ((Widget)tekWidget, (XEvent *)&event, NULL); } } @@ -764,7 +768,6 @@ String attribute; XtArgVal value; { - extern Widget toplevel; Arg args[1]; XtSetArg( args[0], attribute, value ); @@ -1024,7 +1027,6 @@ Cleanup (code) int code; { - extern XtermWidget term; register TScreen *screen; screen = &term->screen; @@ -1051,9 +1053,8 @@ Setenv (var, value) register char *var, *value; { - extern char **environ; register int envindex = 0; - register int len = strlen(var); + register Size_t len = strlen(var); while (environ [envindex] != NULL) { if (strncmp (environ [envindex], var, len) == 0) { @@ -1084,7 +1085,7 @@ register char *s1, *s2; { register char *s3; - int s2len = strlen (s2); + Size_t s2len = strlen (s2); while ((s3=strchr(s1, *s2)) != NULL) { if (strncmp(s3, s2, s2len) == 0) @@ -1118,11 +1119,11 @@ Exit(ERROR_XIOERROR); } +extern char *ProgramName; + void xt_error(message) String message; { - extern char *ProgramName; - (void) fprintf (stderr, "%s Xt error: %s\n", ProgramName, message); exit(1); } Index: proto.h --- xterm-original/proto.h Sat Jan 6 20:06:29 1996 +++ xterm-patched/proto.h Sun Jan 7 11:29:52 1996 @@ -26,4 +26,19 @@ #define PROTO_XT_SEL_CB_ARGS \ PROTO((Widget w, XtPointer client_data, Atom *selection, Atom *type, XtPointer value, unsigned long *length, int *format)) +#ifdef SIGNALRETURNSINT +#define SIGNAL_T int +#define SIGNAL_RETURN return 0 +#else +#define SIGNAL_T void +#define SIGNAL_RETURN return +#endif + +#undef Size_t +#ifndef X_NOT_STDC_ENV +#define Size_t size_t +#else +#define Size_t int +#endif + #endif/*included_proto_h*/ Index: resize.c --- xterm-original/resize.c Sat Jan 6 18:37:40 1996 +++ xterm-patched/resize.c Sun Jan 7 11:29:32 1996 @@ -103,12 +103,6 @@ #include #include -#ifdef SIGNALRETURNSINT -#define SIGNAL_T int -#else -#define SIGNAL_T void -#endif - #ifndef X_NOT_STDC_ENV #include #else @@ -493,7 +487,7 @@ register char *s1, *s2; { register char *s3; - int s2len = strlen (s2); + Size_t s2len = strlen (s2); while ((s3 = strchr(s1, *s2)) != NULL) { Index: screen.c --- xterm-original/screen.c Sat Jan 6 17:51:36 1996 +++ xterm-patched/screen.c Sun Jan 7 11:33:54 1996 @@ -110,7 +110,8 @@ { register ScrnBuf base; register Char *tmp; - register int i, minrows, mincols; + register int i, minrows; + register Size_t mincols; Char *oldbuf; int move_down = 0, move_up = 0; @@ -330,7 +331,7 @@ { register Char *ptr = sb[4 * row]; register Char *attrs = sb[4 * row + 1]; - register nbytes = (size - n - col); + register Size_t nbytes = (size - n - col); int wrappedbit = attrs[0]&LINEWRAPPED; memmove( ptr + col, ptr + col + n, nbytes); Index: tabs.c --- xterm-original/tabs.c Sat Jan 6 12:25:15 1996 +++ xterm-patched/tabs.c Sun Jan 7 11:02:04 1996 @@ -31,6 +31,8 @@ #include "xterm.h" +extern XtermWidget term; + /* * This file presumes 32bits/word. This is somewhat of a crock, and should * be fixed sometime. @@ -85,7 +87,6 @@ Tabs tabs; int col; { - extern XtermWidget term; register TScreen *screen = &term->screen; if(screen->curses && screen->do_wrap && (term->flags & WRAPAROUND)) { Index: util.c --- xterm-original/util.c Sat Jan 6 18:02:32 1996 +++ xterm-patched/util.c Sun Jan 7 12:22:30 1996 @@ -37,6 +37,8 @@ #include "xterm.h" +extern Bool waiting_for_initial_map; + extern int handle_translated_exposure PROTO((TScreen *screen, int rect_x, int rect_y, unsigned int rect_width, unsigned int rect_height)); extern void CopyWait PROTO((TScreen *screen)); static void copy_area PROTO((TScreen *screen, int src_x, int src_y, unsigned int width, unsigned int height, int dest_x, int dest_y)); @@ -915,7 +917,6 @@ register unsigned int rect_width, rect_height; { register int toprow, leftcol, nrows, ncols; - extern Bool waiting_for_initial_map; toprow = (rect_y - screen->border) / FontHeight(screen); if(toprow < 0) @@ -957,15 +958,15 @@ /***====================================================================***/ void -GetColors(term,pColors) - XtermWidget term; +GetColors(tw,pColors) + XtermWidget tw; ScrnColors *pColors; { - register TScreen *screen = &term->screen; + register TScreen *screen = &tw->screen; pColors->which= 0; SET_COLOR_VALUE(pColors,TEXT_FG, screen->foreground); - SET_COLOR_VALUE(pColors,TEXT_BG, term->core.background_pixel); + SET_COLOR_VALUE(pColors,TEXT_BG, tw->core.background_pixel); SET_COLOR_VALUE(pColors,TEXT_CURSOR, screen->cursorcolor); SET_COLOR_VALUE(pColors,MOUSE_FG, screen->mousecolor); SET_COLOR_VALUE(pColors,MOUSE_BG, screen->mousecolorback); @@ -975,16 +976,16 @@ } void -ChangeColors(term,pNew) - XtermWidget term; +ChangeColors(tw,pNew) + XtermWidget tw; ScrnColors *pNew; { - register TScreen *screen = &term->screen; + register TScreen *screen = &tw->screen; Window tek = TWindow(screen); Bool newCursor= TRUE; if (COLOR_DEFINED(pNew,TEXT_BG)) { - term->core.background_pixel= COLOR_VALUE(pNew,TEXT_BG); + tw->core.background_pixel= COLOR_VALUE(pNew,TEXT_BG); } if (COLOR_DEFINED(pNew,TEXT_CURSOR)) { @@ -1007,13 +1008,13 @@ if (COLOR_DEFINED(pNew,TEXT_BG)) { Pixel bg= COLOR_VALUE(pNew,TEXT_BG); - term->core.background_pixel= bg; + tw->core.background_pixel= bg; XSetBackground(screen->display,screen->normalGC,bg); XSetForeground(screen->display,screen->reverseGC,bg); XSetBackground(screen->display,screen->normalboldGC,bg); XSetForeground(screen->display,screen->reverseboldGC,bg); XSetWindowBackground(screen->display, TextWindow(screen), - term->core.background_pixel); + tw->core.background_pixel); } if (COLOR_DEFINED(pNew,MOUSE_FG)||(COLOR_DEFINED(pNew,MOUSE_BG))) { @@ -1041,7 +1042,7 @@ screen->max_col + 1, False); if(screen->Tshow) { XClearWindow(screen->display, tek); - TekExpose((XExposeEvent *) NULL); + TekExpose((Widget)NULL, (XEvent *)NULL, (Region)NULL); } } Index: xterm.h --- xterm-original/xterm.h Sat Jan 6 20:01:16 1996 +++ xterm-patched/xterm.h Sun Jan 7 12:04:56 1996 @@ -12,7 +12,7 @@ extern void TCursorToggle PROTO((int toggle)); extern void TekCopy PROTO((void)); extern void TekEnqMouse PROTO((int c)); -extern void TekExpose NOPROTO((Widget w, XEvent *event, Region region)); +extern void TekExpose PROTO((Widget w, XEvent *event, Region region)); extern void TekGINoff PROTO((void)); extern void TekReverseVideo PROTO((TScreen *screen)); extern void TekRun PROTO((void)); @@ -50,7 +50,7 @@ extern void SetVTFont PROTO((int i, Bool doresize, char *name1, char *name2)); extern void ShowCursor PROTO((void)); extern void SwitchBufPtrs PROTO((TScreen *screen)); -extern void VTReset PROTO((Boolean full)); +extern void VTReset PROTO((int full)); extern void VTRun PROTO((void)); extern void set_cursor_gcs PROTO((TScreen *screen)); extern void unparseputc PROTO((int c, int fd)); @@ -61,8 +61,8 @@ extern void CursorBack PROTO((TScreen *screen, int n)); extern void CursorDown PROTO((TScreen *screen, int n)); extern void CursorForward PROTO((TScreen *screen, int n)); -extern void CursorRestore PROTO((XtermWidget term, SavedCursor *sc)); -extern void CursorSave PROTO((XtermWidget term, SavedCursor *sc)); +extern void CursorRestore PROTO((XtermWidget tw, SavedCursor *sc)); +extern void CursorSave PROTO((XtermWidget tw, SavedCursor *sc)); extern void CursorSet PROTO((TScreen *screen, int row, int col, unsigned flags)); extern void CursorUp PROTO((TScreen *screen, int n)); extern void Index PROTO((TScreen *screen, int amount)); @@ -70,7 +70,7 @@ /* input.c */ extern void Input PROTO((TKeyboard *keyboard, TScreen *screen, XKeyEvent *event, Bool eightbit)); -extern void StringInput PROTO((TScreen *screen, char *string, int nbytes)); +extern void StringInput PROTO((TScreen *screen, char *string, Size_t nbytes)); /* main.c */ extern int main PROTO((int argc, char **argv)); @@ -86,11 +86,14 @@ #endif #ifdef SIGNAL_T -extern SIGNAL_T Exit NOPROTO((int n)); +extern SIGNAL_T Exit PROTO((int n)); #endif +/* menu.c */ +extern void do_hangup PROTO_XT_CALLBACK_ARGS; + /* misc.c */ -extern Cursor make_colored_cursor PROTO((int cursorindex, unsigned long fg, unsigned long bg)); +extern Cursor make_colored_cursor PROTO((unsigned cursorindex, unsigned long fg, unsigned long bg)); extern char *SysErrorMsg PROTO((int n)); extern char *strindex PROTO((char *s1, char *s2)); extern int XStrCmp PROTO((char *s1, char *s2)); @@ -100,11 +103,11 @@ extern void Changename PROTO((char *name)); extern void Changetitle PROTO((char *name)); extern void Cleanup PROTO((int code)); -/* extern void Error NOPROTO((int i)); */ +extern void Error PROTO((int i)); extern void HandleBellPropertyChange PROTO_XT_EV_HANDLER_ARGS; extern void HandleEightBitKeyPressed PROTO_XT_ACTIONS_ARGS; extern void HandleEnterWindow PROTO_XT_EV_HANDLER_ARGS; -extern void HandleFocusChange NOPROTO((Widget w, XtPointer eventdata, XEvent *event, Boolean* cont)); +extern void HandleFocusChange PROTO_XT_EV_HANDLER_ARGS; extern void HandleKeyPressed PROTO_XT_ACTIONS_ARGS; extern void HandleLeaveWindow PROTO_XT_EV_HANDLER_ARGS; extern void HandleStringEvent PROTO_XT_ACTIONS_ARGS; @@ -120,8 +123,8 @@ extern void end_vt_mode PROTO((void)); extern void hide_tek_window PROTO((void)); extern void hide_vt_window PROTO((void)); -extern void set_tek_visibility PROTO((Boolean on)); -extern void set_vt_visibility PROTO((Boolean on)); +extern void set_tek_visibility PROTO((int on)); +extern void set_vt_visibility PROTO((int on)); extern void switch_modes PROTO((Bool tovt)); extern void xevents PROTO((void)); extern void xt_error PROTO((String message)); @@ -143,7 +146,7 @@ extern void ScrnDeleteLine PROTO((ScrnBuf sb, int n, int last, int size, int where)); extern void ScrnInsertChar PROTO((ScrnBuf sb, int row, int size, int col, int n)); extern void ScrnInsertLine PROTO((ScrnBuf sb, int last, int where, int n, int size)); -extern void ScrnRefresh PROTO((TScreen *screen, int toprow, int leftcol, int nrows, int ncols, Boolean force)); +extern void ScrnRefresh PROTO((TScreen *screen, int toprow, int leftcol, int nrows, int ncols, int force)); extern void ScrnSetAttributes PROTO((TScreen *screen, int row, int col, unsigned mask, unsigned value, int length)); /* scrollbar.c */ @@ -167,7 +170,7 @@ /* util.c */ extern int AddToRefresh PROTO((TScreen *screen)); extern int HandleExposure PROTO((TScreen *screen, XEvent *event)); -extern void ChangeColors PROTO((XtermWidget term, ScrnColors *pNew)); +extern void ChangeColors PROTO((XtermWidget tw, ScrnColors *pNew)); extern void ClearAbove PROTO((TScreen *screen)); extern void ClearBelow PROTO((TScreen *screen)); extern void ClearLeft PROTO((TScreen *screen)); @@ -177,7 +180,7 @@ extern void DeleteChar PROTO((TScreen *screen, int n)); extern void DeleteLine PROTO((TScreen *screen, int n)); extern void FlushScroll PROTO((TScreen *screen)); -extern void GetColors PROTO((XtermWidget term, ScrnColors *pColors)); +extern void GetColors PROTO((XtermWidget tw, ScrnColors *pColors)); extern void InsertChar PROTO((TScreen *screen, int n)); extern void InsertLine PROTO((TScreen *screen, int n)); extern void RevScroll PROTO((TScreen *screen, int amount));