version 1.180, 2014/10/28 17:36:19 |
version 1.181, 2014/10/29 00:17:43 |
Line 422 print_encode(struct html *h, const char *p, int norecu |
|
Line 422 print_encode(struct html *h, const char *p, int norecu |
|
break; |
break; |
case ESCAPE_NUMBERED: |
case ESCAPE_NUMBERED: |
c = mchars_num2char(seq, len); |
c = mchars_num2char(seq, len); |
|
if (c < 0) |
|
continue; |
break; |
break; |
case ESCAPE_SPECIAL: |
case ESCAPE_SPECIAL: |
c = mchars_spec2cp(h->symtab, seq, len); |
c = mchars_spec2cp(h->symtab, seq, len); |
|
if (c <= 0) |
|
continue; |
break; |
break; |
case ESCAPE_NOSPACE: |
case ESCAPE_NOSPACE: |
if ('\0' == *p) |
if ('\0' == *p) |
Line 433 print_encode(struct html *h, const char *p, int norecu |
|
Line 437 print_encode(struct html *h, const char *p, int norecu |
|
default: |
default: |
continue; |
continue; |
} |
} |
if (c <= 0) |
if ((c < 0x20 && c != 0x09) || |
continue; |
(c > 0x7E && c < 0xA0)) |
if (c < 0x20 || (c > 0x7E && c < 0xA0)) |
|
c = 0xFFFD; |
c = 0xFFFD; |
if (c > 0x7E) |
if (c > 0x7E) |
printf("&#%d;", c); |
printf("&#%d;", c); |