42 lines
1.2 KiB
C
42 lines
1.2 KiB
C
// iconv wrapper
|
|
#ifndef XERCES_DUMMY_ICONV_H
|
|
#define XERCES_DUMMY_ICONV_H
|
|
|
|
#undef HAVE_ICONV
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#define XERCES_ICONV_ERROR (size_t)-1
|
|
#define XERCES_ICONV_E2BIG (size_t)-2
|
|
#define XERCES_ICONV_EILSEQ (size_t)-3
|
|
#define XERCES_ICONV_EINVAL (size_t)-4
|
|
/*@}*/
|
|
|
|
|
|
#define XERCES_iconv_utf8_locale(S) XERCES_iconv_string("", "UTF-8", S, strlen(S)+1)
|
|
#define XERCES_iconv_utf8_ucs2(S) (Uint16 *)XERCES_iconv_string("UCS-2", "UTF-8", S, strlen(S)+1)
|
|
#define XERCES_iconv_utf8_ucs4(S) (Uint32 *)XERCES_iconv_string("UCS-4", "UTF-8", S, strlen(S)+1)
|
|
|
|
|
|
|
|
typedef struct _XERCES_iconv_t *XERCES_iconv_t;
|
|
|
|
extern XERCES_iconv_t XERCES_iconv_open(const char *tocode, const char *fromcode);
|
|
extern int XERCES_iconv_close(XERCES_iconv_t cd);
|
|
extern size_t XERCES_iconv(XERCES_iconv_t cd, const char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft);
|
|
extern char * XERCES_iconv_string(const char *tocode, const char *fromcode, const char *inbuf, size_t inbytesleft);
|
|
|
|
#define iconv_t XERCES_iconv_t
|
|
#define iconv XERCES_iconv
|
|
#define iconv_open XERCES_iconv_open
|
|
#define iconv_close XERCES_iconv_close
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#define HAVE_ICONV 1
|
|
|
|
#endif
|