version 1.229, 2014/10/26 17:12:03 |
version 1.231, 2014/10/28 17:36:19 |
|
|
term_free(struct termp *p) |
term_free(struct termp *p) |
{ |
{ |
|
|
if (p->buf) |
free(p->buf); |
free(p->buf); |
|
if (p->symtab) |
|
mchars_free(p->symtab); |
|
|
|
free(p); |
free(p); |
} |
} |
|
|
Line 468 term_word(struct termp *p, const char *word) |
|
Line 464 term_word(struct termp *p, const char *word) |
|
encode(p, cp, ssz); |
encode(p, cp, ssz); |
} else { |
} else { |
uc = mchars_spec2cp(p->symtab, seq, sz); |
uc = mchars_spec2cp(p->symtab, seq, sz); |
if (uc <= 0) |
if (uc > 0) |
uc = 0xFFFD; |
encode1(p, uc); |
encode1(p, uc); |
|
} |
} |
break; |
break; |
case ESCAPE_FONTBOLD: |
case ESCAPE_FONTBOLD: |
Line 705 term_strlen(const struct termp *p, const char *cp) |
|
Line 700 term_strlen(const struct termp *p, const char *cp) |
|
} else { |
} else { |
c = mchars_spec2cp(p->symtab, |
c = mchars_spec2cp(p->symtab, |
seq, ssz); |
seq, ssz); |
if (c <= 0) |
if (c > 0) |
c = 0xFFFD; |
sz += cond_width(p, c, &skip); |
sz += cond_width(p, c, &skip); |
|
} |
} |
break; |
break; |
case ESCAPE_SKIPCHAR: |
case ESCAPE_SKIPCHAR: |