Lines Matching refs:linebuf

34 } linebuf;
159 linebuf.buf = (char *) ecalloc(LINEBUF_SIZE, sizeof(char));
160 linebuf.attr = (int *) ecalloc(LINEBUF_SIZE, sizeof(int));
189 memcpy(new_buf, linebuf.buf, size_linebuf * sizeof(char));
190 memcpy(new_attr, linebuf.attr, size_linebuf * sizeof(int));
191 free(linebuf.attr);
192 free(linebuf.buf);
193 linebuf.buf = new_buf;
194 linebuf.attr = new_attr;
214 right_curr = (int) linebuf.end;
231 linebuf.print = 6; /* big enough for longest UTF-8 sequence */
232 linebuf.pfx_end = 0;
233 for (linebuf.end = 0; linebuf.end < linebuf.print; linebuf.end++)
235 linebuf.buf[linebuf.end] = '\0';
236 linebuf.attr[linebuf.end] = 0;
274 linebuf.buf[n] = ch;
275 linebuf.attr[n] = attr;
283 set_linebuf(linebuf.end++, ch, attr);
301 linebuf.pfx[n] = ch;
302 linebuf.pfx_attr[n] = attr;
310 set_pfx(linebuf.pfx_end++, ch, attr);
327 * {{ Since forw_raw_line modifies linebuf, we must
328 * do this first, before storing anything in linebuf. }}
347 while (linebuf.pfx_end < (size_t) status_col_width) /*{{type-issue}}*/
376 end_column = (int) linebuf.pfx_end; /*{{type-issue}}*/
400 for (i = linebuf.print; i < linebuf.end; i++)
401 if (linebuf.attr[i] == AT_ANSI)
402 xbuf_add_char(&shifted_ansi, linebuf.buf[i]);
403 linebuf.end = linebuf.print;
404 end_column = (int) linebuf.pfx_end; /*{{type-issue}}*/
509 if (linebuf.end > 0 && !is_at_equiv(linebuf.attr[linebuf.end-1], a))
510 w += attr_ewidth(linebuf.attr[linebuf.end-1]);
512 (linebuf.end == 0 || !is_at_equiv(linebuf.attr[linebuf.end-1], a)))
525 if (linebuf.end == 0)
527 p = &linebuf.buf[linebuf.end];
528 ch = step_char(&p, -1, linebuf.buf);
530 while (p > linebuf.buf)
534 linebuf.end = ptr_diff(p, linebuf.buf);
535 prev_ch = step_char(&p, -1, linebuf.buf);
536 width = pwidth(ch, linebuf.attr[linebuf.end], prev_ch, linebuf.attr[linebuf.end-1]);
551 saved_line_end = linebuf.end;
560 linebuf.end = saved_line_end;
771 char *p = &linebuf.buf[linebuf.end];
772 LWCHAR prev_ch = (linebuf.end > 0) ? step_char(&p, -1, linebuf.buf) : 0;
773 int prev_a = (linebuf.end > 0) ? linebuf.attr[linebuf.end-1] : 0;
813 if (linebuf.end > linebuf.print)
817 for (i = 0; i < linebuf.print; i++)
819 linebuf.buf[i] = linebuf.buf[i+replen];
820 linebuf.attr[i] = linebuf.attr[i+replen];
822 linebuf.end -= replen;
856 int to_tab = col - (int) linebuf.pfx_end; /*{{type-issue}}*/
1047 constant char *start = (cshift < hshift) ? xbuf_char_data(&shifted_ansi): linebuf.buf;
1048 size_t *end = (cshift < hshift) ? &shifted_ansi.end : &linebuf.end;
1070 if (linebuf.end > 0 &&
1071 ((linebuf.end <= linebuf.print && linebuf.buf[linebuf.end-1] == '\0') ||
1072 (linebuf.end > 0 && linebuf.attr[linebuf.end - 1] & (AT_ANSI|AT_BINARY))))
1114 prev_ch = get_wchar(&linebuf.buf[linebuf.end]);
1117 prev_ch = (unsigned char) linebuf.buf[linebuf.end];
1119 a = linebuf.attr[linebuf.end];
1143 rep = &linebuf.buf[linebuf.end];
1152 || is_combining_char(get_wchar(&linebuf.buf[linebuf.end]), ch))
1239 linebuf.end = (size_t) right_curr;
1305 set_linebuf(linebuf.end, '\0', AT_NORMAL);
1424 for (i = linebuf.print; i < linebuf.end; i++)
1425 if ((linebuf.attr[i] & AT_COLOR) == 0 || (a & AT_COLOR) == 0)
1426 linebuf.attr[i] |= a;
1464 if (i < linebuf.pfx_end)
1466 *ap = linebuf.pfx_attr[i];
1467 return linebuf.pfx[i];
1469 i += linebuf.print - linebuf.pfx_end;
1470 *ap = linebuf.attr[i];
1471 return (linebuf.buf[i] & 0xFF);
1518 linebuf.buf[n++] = (char) c;
1526 linebuf.buf[n] = '\0';
1528 *linep = linebuf.buf;
1554 linebuf.buf[--n] = '\0';
1592 * Shift the data to the end of the new linebuf.
1594 for (fm = linebuf.buf + old_size_linebuf - 1,
1595 to = linebuf.buf + size_linebuf - 1;
1596 fm >= linebuf.buf; fm--, to--)
1600 linebuf.buf[--n] = (char) c;
1603 *linep = &linebuf.buf[n];
1678 set_linebuf(linebuf.end, '\0', AT_NORMAL);