version 1.115, 2009/10/27 08:26:12 |
version 1.121, 2009/11/05 07:21:02 |
|
|
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
*/ |
*/ |
#include <assert.h> |
#include <assert.h> |
#include <err.h> |
|
#include <stdio.h> |
#include <stdio.h> |
#include <stdlib.h> |
#include <stdlib.h> |
#include <string.h> |
#include <string.h> |
Line 77 term_alloc(enum termenc enc) |
|
Line 76 term_alloc(enum termenc enc) |
|
{ |
{ |
struct termp *p; |
struct termp *p; |
|
|
if (NULL == (p = malloc(sizeof(struct termp)))) |
p = calloc(1, sizeof(struct termp)); |
return(NULL); |
if (NULL == p) { |
memset(p, 0, sizeof(struct termp)); |
perror(NULL); |
|
exit(EXIT_FAILURE); |
|
} |
p->maxrmargin = 78; |
p->maxrmargin = 78; |
p->enc = enc; |
p->enc = enc; |
return(p); |
return(p); |
Line 145 term_flushln(struct termp *p) |
|
Line 146 term_flushln(struct termp *p) |
|
assert(p->offset < p->rmargin); |
assert(p->offset < p->rmargin); |
|
|
maxvis = (int)(p->rmargin - p->offset) - overstep < 0 ? |
maxvis = (int)(p->rmargin - p->offset) - overstep < 0 ? |
0 : p->rmargin - p->offset - overstep; |
/* LINTED */ |
|
0 : p->rmargin - p->offset - overstep; |
mmax = (int)(p->maxrmargin - p->offset) - overstep < 0 ? |
mmax = (int)(p->maxrmargin - p->offset) - overstep < 0 ? |
0 : p->maxrmargin - p->offset - overstep; |
/* LINTED */ |
|
0 : p->maxrmargin - p->offset - overstep; |
|
|
bp = TERMP_NOBREAK & p->flags ? mmax : maxvis; |
bp = TERMP_NOBREAK & p->flags ? mmax : maxvis; |
|
|
Line 226 term_flushln(struct termp *p) |
|
Line 229 term_flushln(struct termp *p) |
|
for ( ; i < (int)p->col; i++) { |
for ( ; i < (int)p->col; i++) { |
if (' ' == p->buf[i]) |
if (' ' == p->buf[i]) |
break; |
break; |
putchar(p->buf[i]); |
|
|
/* The unit sep. is a non-breaking space. */ |
|
if (31 == p->buf[i]) |
|
putchar(' '); |
|
else |
|
putchar(p->buf[i]); |
} |
} |
vis += vsz; |
vis += vsz; |
} |
} |
Line 541 buffer(struct termp *p, char c) |
|
Line 549 buffer(struct termp *p, char c) |
|
p->maxcols = 256; |
p->maxcols = 256; |
s = p->maxcols * 2; |
s = p->maxcols * 2; |
p->buf = realloc(p->buf, s); |
p->buf = realloc(p->buf, s); |
if (NULL == p->buf) |
if (NULL == p->buf) { |
err(1, "realloc"); /* FIXME: shouldn't be here! */ |
perror(NULL); |
|
exit(EXIT_FAILURE); |
|
} |
p->maxcols = s; |
p->maxcols = s; |
} |
} |
p->buf[(int)(p->col)++] = c; |
p->buf[(int)(p->col)++] = c; |