version 1.15, 2015/10/06 18:32:19 |
version 1.16, 2017/02/18 13:43:52 |
|
|
#include "libmandoc.h" |
#include "libmandoc.h" |
|
|
int |
int |
preconv_encode(struct buf *ib, size_t *ii, struct buf *ob, size_t *oi, |
preconv_encode(const struct buf *ib, size_t *ii, struct buf *ob, size_t *oi, |
int *filenc) |
int *filenc) |
{ |
{ |
unsigned char *cu; |
const unsigned char *cu; |
int nby; |
int nby; |
unsigned int accum; |
unsigned int accum; |
|
|
cu = (unsigned char *)ib->buf + *ii; |
cu = (const unsigned char *)ib->buf + *ii; |
assert(*cu & 0x80); |
assert(*cu & 0x80); |
|
|
if ( ! (*filenc & MPARSE_UTF8)) |
if ( ! (*filenc & MPARSE_UTF8)) |
Line 90 preconv_encode(struct buf *ib, size_t *ii, struct buf |
|
Line 90 preconv_encode(struct buf *ib, size_t *ii, struct buf |
|
assert(accum < 0xd800 || accum > 0xdfff); |
assert(accum < 0xd800 || accum > 0xdfff); |
|
|
*oi += snprintf(ob->buf + *oi, 11, "\\[u%.4X]", accum); |
*oi += snprintf(ob->buf + *oi, 11, "\\[u%.4X]", accum); |
*ii = (char *)cu - ib->buf; |
*ii = (const char *)cu - ib->buf; |
*filenc &= ~MPARSE_LATIN1; |
*filenc &= ~MPARSE_LATIN1; |
return 1; |
return 1; |
|
|