diff options
author | Andrew Tridgell <tridge@samba.org> | 2001-07-22 07:38:32 +0000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2001-07-22 07:38:32 +0000 |
commit | 49514266131aa55b4a97f02b39b2d5e5c1f625a2 (patch) | |
tree | 81cc9bf796345a882305af58bd18caa705d4e774 /source3/include | |
parent | 512351db92b4e13c2944f740090ec58730d8fa06 (diff) | |
download | samba-49514266131aa55b4a97f02b39b2d5e5c1f625a2.tar.gz samba-49514266131aa55b4a97f02b39b2d5e5c1f625a2.tar.bz2 samba-49514266131aa55b4a97f02b39b2d5e5c1f625a2.zip |
changed the iconv interface to go via ucs2 for all conversions. This
fixes some problems wih some character sets and allows for using
internal charsets in conjunction with ionv charsets
this makes us slower but more correct. speed will come later.
(This used to be commit 594f84b4e39182dcf344c02dc0185376a2726395)
Diffstat (limited to 'source3/include')
-rw-r--r-- | source3/include/includes.h | 5 | ||||
-rw-r--r-- | source3/include/smb.h | 10 |
2 files changed, 9 insertions, 6 deletions
diff --git a/source3/include/includes.h b/source3/include/includes.h index 3d6147f587..51f2ca9ee8 100644 --- a/source3/include/includes.h +++ b/source3/include/includes.h @@ -1029,6 +1029,11 @@ extern int DEBUGLEVEL; #define RTLD_NOW 0 #endif +/* needed for some systems without iconv */ +#ifndef EILSEQ +#define EILSEQ EINVAL +#endif + /* add varargs prototypes with printf checking */ int fdprintf(int , char *, ...) PRINTF_ATTRIBUTE(2,3); #ifndef HAVE_SNPRINTF_DECL diff --git a/source3/include/smb.h b/source3/include/smb.h index 091ed2ac66..2e83e1c637 100644 --- a/source3/include/smb.h +++ b/source3/include/smb.h @@ -1687,15 +1687,13 @@ typedef struct { /* generic iconv conversion structure */ typedef struct { - size_t (*direct)(char **inbuf, size_t *inbytesleft, + size_t (*direct)(void *cd, char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft); - size_t (*pull)(char **inbuf, size_t *inbytesleft, + size_t (*pull)(void *cd, char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft); - size_t (*push)(char **inbuf, size_t *inbytesleft, + size_t (*push)(void *cd, char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft); -#ifdef HAVE_NATIVE_ICONV - iconv_t cd; -#endif + void *cd_direct, *cd_pull, *cd_push; } *smb_iconv_t; #endif /* _SMB_H */ |