Fix TTY crashing when a location has more than 32k items
This commit is contained in:
@@ -29,9 +29,9 @@ struct WinDesc {
|
|||||||
xchar type; /* type of window */
|
xchar type; /* type of window */
|
||||||
boolean active; /* true if window is active */
|
boolean active; /* true if window is active */
|
||||||
short offx, offy; /* offset from topleft of display */
|
short offx, offy; /* offset from topleft of display */
|
||||||
short rows, cols; /* dimensions */
|
long rows, cols; /* dimensions */
|
||||||
short curx, cury; /* current cursor position */
|
long curx, cury; /* current cursor position */
|
||||||
short maxrow, maxcol; /* the maximum size used -- for MENU wins */
|
long maxrow, maxcol; /* the maximum size used -- for MENU wins */
|
||||||
/* maxcol is also used by WIN_MESSAGE for */
|
/* maxcol is also used by WIN_MESSAGE for */
|
||||||
/* tracking the ^P command */
|
/* tracking the ^P command */
|
||||||
short *datlen; /* allocation size for *data */
|
short *datlen; /* allocation size for *data */
|
||||||
@@ -39,9 +39,9 @@ struct WinDesc {
|
|||||||
char *morestr; /* string to display instead of default */
|
char *morestr; /* string to display instead of default */
|
||||||
tty_menu_item *mlist; /* menu information (MENU) */
|
tty_menu_item *mlist; /* menu information (MENU) */
|
||||||
tty_menu_item **plist; /* menu page pointers (MENU) */
|
tty_menu_item **plist; /* menu page pointers (MENU) */
|
||||||
short plist_size; /* size of allocated plist (MENU) */
|
long plist_size; /* size of allocated plist (MENU) */
|
||||||
short npages; /* number of pages in menu (MENU) */
|
long npages; /* number of pages in menu (MENU) */
|
||||||
short nitems; /* total number of items (MENU) */
|
long nitems; /* total number of items (MENU) */
|
||||||
short how; /* menu mode - pick 1 or N (MENU) */
|
short how; /* menu mode - pick 1 or N (MENU) */
|
||||||
char menu_ch; /* menu char (MENU) */
|
char menu_ch; /* menu char (MENU) */
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1997,7 +1997,7 @@ tty_putstr(window, attr, str)
|
|||||||
register struct WinDesc *cw = 0;
|
register struct WinDesc *cw = 0;
|
||||||
register char *ob;
|
register char *ob;
|
||||||
register const char *nb;
|
register const char *nb;
|
||||||
register int i, j, n0;
|
register long i, j, n0;
|
||||||
|
|
||||||
/* Assume there's a real problem if the window is missing --
|
/* Assume there's a real problem if the window is missing --
|
||||||
* probably a panic message
|
* probably a panic message
|
||||||
@@ -2375,7 +2375,7 @@ tty_end_menu(window, prompt)
|
|||||||
if (cw->npages > 1) {
|
if (cw->npages > 1) {
|
||||||
char buf[QBUFSZ];
|
char buf[QBUFSZ];
|
||||||
/* produce the largest demo string */
|
/* produce the largest demo string */
|
||||||
Sprintf(buf, "(%d of %d) ", cw->npages, cw->npages);
|
Sprintf(buf, "(%ld of %ld) ", cw->npages, cw->npages);
|
||||||
len = strlen(buf);
|
len = strlen(buf);
|
||||||
cw->morestr = copy_of("");
|
cw->morestr = copy_of("");
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user