32 char **outbuf,
size_t *outbytesleft)
34 unsigned char *outp = (
unsigned char *) *outbuf;
36 if (*outbytesleft >=
sizeof(
wchar_t))
39 memcpy(outp, &wch,
sizeof(wch));
41 (*outbytesleft) -=
sizeof(wch);
48 *outbuf = (
char *) outp;
70 size_t inbytesleft,
size_t *no_read)
74 if (inbytesleft <
sizeof(
wchar_t))
82 memcpy(&wch, inp,
sizeof(wch));
84 *no_read =
sizeof(wch);
Header for errno utilities.
Internal header for iconv.
void yaz_iconv_set_errno(yaz_iconv_t cd, int no)
yaz_iconv_encoder_t yaz_wchar_encoder(const char *tocode, yaz_iconv_encoder_t e)
yaz_iconv_decoder_t yaz_wchar_decoder(const char *fromcode, yaz_iconv_decoder_t d)
int yaz_matchstr(const char *s1, const char *s2)
match strings - independent of case and '-'
unsigned long compose_char
unsigned long(* read_handle)(yaz_iconv_t cd, yaz_iconv_decoder_t d, unsigned char *inbuf, size_t inbytesleft, size_t *no_read)
size_t(* write_handle)(yaz_iconv_t cd, yaz_iconv_encoder_t e, unsigned long x, char **outbuf, size_t *outbytesleft)
Header for memory handling functions.
#define YAZ_ICONV_E2BIG
error code: Not sufficient room for output buffer
#define YAZ_ICONV_EINVAL
error code: An incomplete multibyte sequence is in input buffer