[BACK]Return to addbytes.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / lib / libcurses

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/lib/libcurses/addbytes.c between version 1.58 and 1.59

version 1.58, 2021/09/06 07:08:25 version 1.59, 2021/09/06 07:45:48
Line 253  _cursesi_addbyte(WINDOW *win, __LINE **l
Line 253  _cursesi_addbyte(WINDOW *win, __LINE **l
                 (*lp)->flags &= ~__ISPASTEOL;                  (*lp)->flags &= ~__ISPASTEOL;
                 if (*y == win->scr_b) {                  if (*y == win->scr_b) {
                         __CTRACE(__CTRACE_INPUT,                          __CTRACE(__CTRACE_INPUT,
                                  "ADDBYTES - on bottom "                              "ADDBYTES - on bottom of scrolling region\n");
                                  "of scrolling region\n");  
                         if (!(win->flags & __SCROLLOK))                          if (!(win->flags & __SCROLLOK))
                                 return ERR;                                  return ERR;
                         scroll(win);                          scroll(win);
Line 267  _cursesi_addbyte(WINDOW *win, __LINE **l
Line 266  _cursesi_addbyte(WINDOW *win, __LINE **l
         }          }
   
         __CTRACE(__CTRACE_INPUT,          __CTRACE(__CTRACE_INPUT,
                  "ADDBYTES: 1: y = %d, x = %d, firstch = %d, lastch = %d\n",              "ADDBYTES: 1: y = %d, x = %d, firstch = %d, lastch = %d\n",
                  *y, *x, *win->alines[*y]->firstchp,              *y, *x, *win->alines[*y]->firstchp, *win->alines[*y]->lastchp);
                  *win->alines[*y]->lastchp);  
   
         attributes = (win->wattr | attr) & (__ATTRIBUTES & ~__COLOR);          attributes = (win->wattr | attr) & (__ATTRIBUTES & ~__COLOR);
         if (attr & __COLOR)          if (attr & __COLOR)
Line 293  _cursesi_addbyte(WINDOW *win, __LINE **l
Line 291  _cursesi_addbyte(WINDOW *win, __LINE **l
         if (newx > *(*lp)->lastchp)          if (newx > *(*lp)->lastchp)
                 *(*lp)->lastchp = newx;                  *(*lp)->lastchp = newx;
         __CTRACE(__CTRACE_INPUT, "ADDBYTES: change gives f/l: %d/%d [%d/%d]\n",          __CTRACE(__CTRACE_INPUT, "ADDBYTES: change gives f/l: %d/%d [%d/%d]\n",
                  *(*lp)->firstchp, *(*lp)->lastchp,              *(*lp)->firstchp, *(*lp)->lastchp,
                  *(*lp)->firstchp - win->ch_off,              *(*lp)->firstchp - win->ch_off,
                  *(*lp)->lastchp - win->ch_off);              *(*lp)->lastchp - win->ch_off);
         if (win->bch != ' ' && c == ' ')          if (win->bch != ' ' && c == ' ')
                 (*lp)->line[*x].ch = win->bch;                  (*lp)->line[*x].ch = win->bch;
         else          else
Line 313  _cursesi_addbyte(WINDOW *win, __LINE **l
Line 311  _cursesi_addbyte(WINDOW *win, __LINE **l
                 (*x)++;                  (*x)++;
   
         __CTRACE(__CTRACE_INPUT,          __CTRACE(__CTRACE_INPUT,
                  "ADDBYTES: 2: y = %d, x = %d, firstch = %d, lastch = %d\n",              "ADDBYTES: 2: y = %d, x = %d, firstch = %d, lastch = %d\n",
                  *y, *x, *win->alines[*y]->firstchp,              *y, *x, *win->alines[*y]->firstchp, *win->alines[*y]->lastchp);
                  *win->alines[*y]->lastchp);  
         __sync(win);          __sync(win);
         return OK;          return OK;
 }  }
Line 392  _cursesi_addwchar(WINDOW *win, __LINE **
Line 389  _cursesi_addwchar(WINDOW *win, __LINE **
         /* check for non-spacing character */          /* check for non-spacing character */
         if (!wcwidth(wch->vals[0])) {          if (!wcwidth(wch->vals[0])) {
                 __CTRACE(__CTRACE_INPUT,                  __CTRACE(__CTRACE_INPUT,
                          "_cursesi_addwchar: char '%c' is non-spacing\n",                      "_cursesi_addwchar: char '%c' is non-spacing\n",
                          wch->vals[0]);                      wch->vals[0]);
                 cw = WCOL(*lp);                  cw = WCOL(*lp);
                 if (cw < 0) {                  if (cw < 0) {
                         lp += cw;                          lp += cw;
Line 436  _cursesi_addwchar(WINDOW *win, __LINE **
Line 433  _cursesi_addwchar(WINDOW *win, __LINE **
         } else {          } else {
                 for (sx = *x - 1; sx >= max(*x + cw, 0); sx--) {                  for (sx = *x - 1; sx >= max(*x + cw, 0); sx--) {
                         __CTRACE(__CTRACE_INPUT,                          __CTRACE(__CTRACE_INPUT,
                                  "_cursesi_addwchar: clear current char (%d,%d)\n",                              "_cursesi_addwchar: clear current char (%d,%d)\n",
                                  *y, sx);                              *y, sx);
                         tp = &win->alines[*y]->line[sx];                          tp = &win->alines[*y]->line[sx];
                         tp->ch = (wchar_t) btowc((int) win->bch);                          tp->ch = (wchar_t) btowc((int) win->bch);
                         if (_cursesi_copy_nsp(win->bnsp, tp) == ERR)                          if (_cursesi_copy_nsp(win->bnsp, tp) == ERR)
Line 460  _cursesi_addwchar(WINDOW *win, __LINE **
Line 457  _cursesi_addwchar(WINDOW *win, __LINE **
   
         if (cw > win->maxx - *x) {          if (cw > win->maxx - *x) {
                 __CTRACE(__CTRACE_INPUT,                  __CTRACE(__CTRACE_INPUT,
                          "_cursesi_addwchar: clear EOL (%d,%d)\n",                      "_cursesi_addwchar: clear EOL (%d,%d)\n", *y, *x);
                          *y, *x);  
                 if (*y == win->scr_b) {                  if (*y == win->scr_b) {
                         if (!(win->flags & __SCROLLOK))                          if (!(win->flags & __SCROLLOK))
                                 return ERR;                                  return ERR;
Line 493  _cursesi_addwchar(WINDOW *win, __LINE **
Line 489  _cursesi_addwchar(WINDOW *win, __LINE **
   
         /* add spacing character */          /* add spacing character */
         __CTRACE(__CTRACE_INPUT,          __CTRACE(__CTRACE_INPUT,
                  "_cursesi_addwchar: add character (%d,%d) 0x%x\n",              "_cursesi_addwchar: add character (%d,%d) 0x%x\n",
                  *y, *x, wch->vals[0]);              *y, *x, wch->vals[0]);
         (*lnp)->flags |= __ISDIRTY;          (*lnp)->flags |= __ISDIRTY;
         newx = *x + win->ch_off;          newx = *x + win->ch_off;
         if (newx < *(*lnp)->firstchp)          if (newx < *(*lnp)->firstchp)
Line 520  _cursesi_addwchar(WINDOW *win, __LINE **
Line 516  _cursesi_addwchar(WINDOW *win, __LINE **
         SET_WCOL(*lp, cw);          SET_WCOL(*lp, cw);
   
         __CTRACE(__CTRACE_INPUT,          __CTRACE(__CTRACE_INPUT,
                  "_cursesi_addwchar: add spacing char 0x%x, attr 0x%x\n",              "_cursesi_addwchar: add spacing char 0x%x, attr 0x%x\n",
                  lp->ch, lp->attr);              lp->ch, lp->attr);
   
         if (wch->elements > 1) {          if (wch->elements > 1) {
                 for (i = 1; i < wch->elements; i++) {                  for (i = 1; i < wch->elements; i++) {
Line 531  _cursesi_addwchar(WINDOW *win, __LINE **
Line 527  _cursesi_addwchar(WINDOW *win, __LINE **
                         np->ch = wch->vals[i];                          np->ch = wch->vals[i];
                         np->next = lp->nsp;                          np->next = lp->nsp;
                         __CTRACE(__CTRACE_INPUT,                          __CTRACE(__CTRACE_INPUT,
                             "_cursesi_addwchar: add non-spacing char 0x%x\n", np->ch);                              "_cursesi_addwchar: add non-spacing char 0x%x\n",
                               np->ch);
                         lp->nsp = np;                          lp->nsp = np;
                 }                  }
         }          }
         __CTRACE(__CTRACE_INPUT, "_cursesi_addwchar: non-spacing list header: %p\n",          __CTRACE(__CTRACE_INPUT,
             lp->nsp);              "_cursesi_addwchar: non-spacing list header: %p\n", lp->nsp);
         __CTRACE(__CTRACE_INPUT, "_cursesi_addwchar: add rest columns (%d:%d)\n",          __CTRACE(__CTRACE_INPUT,
                 sx + 1, sx + cw - 1);              "_cursesi_addwchar: add rest columns (%d:%d)\n",
         __CTRACE(__CTRACE_INPUT, "_cursesi_addwchar: *x = %d, win->maxx = %d\n", *x, win->maxx);              sx + 1, sx + cw - 1);
           __CTRACE(__CTRACE_INPUT, "_cursesi_addwchar: *x = %d, win->maxx = %d\n",
               *x, win->maxx);
         for (tp = lp + 1, *x = sx + 1; *x - sx <= cw - 1; tp++, (*x)++) {          for (tp = lp + 1, *x = sx + 1; *x - sx <= cw - 1; tp++, (*x)++) {
                 if (tp->nsp) {                  if (tp->nsp) {
                         __cursesi_free_nsp(tp->nsp);                          __cursesi_free_nsp(tp->nsp);
Line 552  _cursesi_addwchar(WINDOW *win, __LINE **
Line 551  _cursesi_addwchar(WINDOW *win, __LINE **
         }          }
   
         if (*x == win->maxx) {          if (*x == win->maxx) {
         __CTRACE(__CTRACE_INPUT, "_cursesi_addwchar: do line wrap\n");                  __CTRACE(__CTRACE_INPUT, "_cursesi_addwchar: do line wrap\n");
                 if (*y == win->scr_b) {                  if (*y == win->scr_b) {
         __CTRACE(__CTRACE_INPUT, "_cursesi_addwchar: at bottom of screen\n");                          __CTRACE(__CTRACE_INPUT,
                               "_cursesi_addwchar: at bottom of screen\n");
                         if (!(win->flags & __SCROLLOK))                          if (!(win->flags & __SCROLLOK))
                                 return ERR;                                  return ERR;
         __CTRACE(__CTRACE_INPUT, "_cursesi_addwchar: do a scroll\n");                          __CTRACE(__CTRACE_INPUT,
                               "_cursesi_addwchar: do a scroll\n");
                         scroll(win);                          scroll(win);
                 }                  }
                 newx = win->maxx - 1 + win->ch_off;                  newx = win->maxx - 1 + win->ch_off;
Line 595  _cursesi_addwchar(WINDOW *win, __LINE **
Line 596  _cursesi_addwchar(WINDOW *win, __LINE **
                 }                  }
         }          }
   
         __CTRACE(__CTRACE_INPUT, "_cursesi_addwchar: %d : 0x%x\n", lp->ch, lp->attr);          __CTRACE(__CTRACE_INPUT, "_cursesi_addwchar: %d : 0x%x\n",
         __CTRACE(__CTRACE_INPUT, "_cursesi_addwchar: *x = %d, *y = %d, win->maxx = %d\n", *x, *y, win->maxx);              lp->ch, lp->attr);
           __CTRACE(__CTRACE_INPUT,
               "_cursesi_addwchar: *x = %d, *y = %d, win->maxx = %d\n",
               *x, *y, win->maxx);
         __sync(win);          __sync(win);
         return OK;          return OK;
 #endif  #endif

Legend:
Removed from v.1.58  
changed lines
  Added in v.1.59

CVSweb <webmaster@jp.NetBSD.org>