2 * sbcs.c - routines to handle single-byte character sets.
9 * The charset_spec for any single-byte character set should
10 * provide read_sbcs() as its read function, and its `data' field
11 * should be a wchar_t string constant containing the 256 entries
12 * of the translation table.
15 void read_sbcs(charset_spec
const *charset
, long int input_chr
,
17 void (*emit
)(void *ctx
, long int output
), void *emitctx
)
19 const struct sbcs_data
*sd
= charset
->data
;
23 emit(emitctx
, sd
->sbcs2ucs
[input_chr
]);
26 void write_sbcs(charset_spec
const *charset
, long int input_chr
,
28 void (*emit
)(void *ctx
, long int output
), void *emitctx
)
30 const struct sbcs_data
*sd
= charset
->data
;
36 * Binary-search in the ucs2sbcs table.
43 if (input_chr
< sd
->sbcs2ucs
[c
])
45 else if (input_chr
> sd
->sbcs2ucs
[c
])