"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "display.c" between
screen-4.8.0.tar.gz and screen-4.9.0.tar.gz

About: GNU screen is a screen manager with VT100/ANSI terminal emulation (multiplexing up to 10 pseudo-terminals).

display.c  (screen-4.8.0):display.c  (screen-4.9.0)
skipping to change at line 2308 skipping to change at line 2308
} }
/* /*
* Refreshes the harstatus of the fore window. Shouldn't be here... * Refreshes the harstatus of the fore window. Shouldn't be here...
*/ */
void void
RefreshHStatus() RefreshHStatus()
{ {
char *buf; char *buf;
#ifdef UTF8 #ifdef UTF8
int extrabytes = strlen(hstatusstring) - strlen_onscreen(hstatusstring, NULL); int extrabytes = strlen(hstatusstring) - strlen_onscreen((unsigned char *)hsta tusstring, NULL);
#else #else
int extrabytes = 0; int extrabytes = 0;
#endif #endif
evdeq(&D_hstatusev); evdeq(&D_hstatusev);
if (D_status == STATUS_ON_HS) if (D_status == STATUS_ON_HS)
return; return;
buf = MakeWinMsgEv(hstatusstring, D_fore, '%', (D_HS && D_has_hstatus == HSTAT US_HS && D_WS > 0) ? D_WS : D_width - !D_CLP + extrabytes, &D_hstatusev, 0); buf = MakeWinMsgEv(hstatusstring, D_fore, '%', (D_HS && D_has_hstatus == HSTAT US_HS && D_WS > 0) ? D_WS : D_width - !D_CLP + extrabytes, &D_hstatusev, 0);
if (buf && *buf) if (buf && *buf)
{ {
ShowHStatus(buf); ShowHStatus(buf);
skipping to change at line 2411 skipping to change at line 2411
while (from <= to) while (from <= to)
{ {
lcv = 0; lcv = 0;
lvp = 0; lvp = 0;
for (cv = display->d_cvlist; cv; cv = cv->c_next) for (cv = display->d_cvlist; cv; cv = cv->c_next)
{ {
if (y == cv->c_ye + 1 && from >= cv->c_xs && from <= cv->c_xe) if (y == cv->c_ye + 1 && from >= cv->c_xs && from <= cv->c_xe)
{ {
#ifdef UTF8 #ifdef UTF8
int extrabytes = strlen(captionstring) - strlen_onscreen(captionstr ing, NULL); int extrabytes = strlen(captionstring) - strlen_onscreen((unsigned char *)captionstring, NULL);
#else #else
int extrabytes = 0; int extrabytes = 0;
#endif #endif
p = Layer2Window(cv->c_layer); p = Layer2Window(cv->c_layer);
buf = MakeWinMsgEv(captionstring, p, '%', cv->c_xe - cv->c_xs + (cv ->c_xe + 1 < D_width || D_CLP) + extrabytes, &cv->c_captev, 0); buf = MakeWinMsgEv(captionstring, p, '%', cv->c_xe - cv->c_xs + (cv ->c_xe + 1 < D_width || D_CLP) + extrabytes, &cv->c_captev, 0);
if (cv->c_captev.timeout.tv_sec) if (cv->c_captev.timeout.tv_sec)
evenq(&cv->c_captev); evenq(&cv->c_captev);
xx = to > cv->c_xe ? cv->c_xe : to; xx = to > cv->c_xe ? cv->c_xe : to;
l = strlen(buf); l = strlen(buf);
GotoPos(from, y); GotoPos(from, y);
skipping to change at line 3398 skipping to change at line 3398
char *data; char *data;
{ {
/* We have to intercept mouse sequences in order to translate them /* We have to intercept mouse sequences in order to translate them
* properly, and an incoming sequence could be spread over multiple * properly, and an incoming sequence could be spread over multiple
* I/O reads. When this occurs, we buffer intermediate state in * I/O reads. When this occurs, we buffer intermediate state in
* D_mouse_params, and then use the reservation at the front of * D_mouse_params, and then use the reservation at the front of
* bufspace to prepend the completed and translated mouse sequence. * bufspace to prepend the completed and translated mouse sequence.
*/ */
int size; int size;
char bufspace[MAX_MOUSE_SEQUENCE + IOSIZE]; char bufspace[MAX_MOUSE_SEQUENCE + IOSIZE];
unsigned char *buf = bufspace + MAX_MOUSE_SEQUENCE; unsigned char *buf = (unsigned char*)bufspace + MAX_MOUSE_SEQUENCE;
struct canvas *cv; struct canvas *cv;
display = (struct display *)data; display = (struct display *)data;
/* Hmmmm... a bit ugly... */ /* Hmmmm... a bit ugly... */
if (D_forecv) if (D_forecv)
for (cv = D_forecv->c_layer->l_cvlist; cv; cv = cv->c_lnext) for (cv = D_forecv->c_layer->l_cvlist; cv; cv = cv->c_lnext)
{ {
display = cv->c_display; display = cv->c_display;
skipping to change at line 3473 skipping to change at line 3473
if (D_blocked > 1) /* 2, 3 */ if (D_blocked > 1) /* 2, 3 */
{ {
char *bufp; char *bufp;
struct win *p; struct win *p;
flayer = 0; flayer = 0;
for (p = windows; p ; p = p->w_next) for (p = windows; p ; p = p->w_next)
if (p->w_zdisplay == display) if (p->w_zdisplay == display)
{ {
flayer = &p->w_layer; flayer = &p->w_layer;
bufp = buf; bufp = (char *)buf;
while (size > 0) while (size > 0)
LayProcess(&bufp, &size); LayProcess(&bufp, &size);
return; return;
} }
debug("zmodem window gone, deblocking display"); debug("zmodem window gone, deblocking display");
zmodem_abort(0, display); zmodem_abort(0, display);
} }
#endif #endif
if (idletimo > 0) if (idletimo > 0)
ResetIdle(); ResetIdle();
skipping to change at line 3756 skipping to change at line 3756
} }
else else
j += EncodeChar(buf2 + j, c, enc, 0); j += EncodeChar(buf2 + j, c, enc, 0);
if (j > (int)sizeof(buf2) - 10) /* just in case... */ if (j > (int)sizeof(buf2) - 10) /* just in case... */
break; break;
} }
(*D_processinput)(buf2, j); (*D_processinput)(buf2, j);
return; return;
} }
#endif #endif
(*D_processinput)(buf, size); (*D_processinput)((char *)buf, size);
} }
static void static void
disp_status_fn(ev, data) disp_status_fn(ev, data)
struct event *ev; struct event *ev;
char *data; char *data;
{ {
display = (struct display *)data; display = (struct display *)data;
debug1("disp_status_fn for display %x\n", (int)display); debug1("disp_status_fn for display %x\n", (int)display);
if (D_status) if (D_status)
 End of changes. 5 change blocks. 
5 lines changed or deleted 5 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)