summaryrefslogtreecommitdiff
path: root/source3/include
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2001-07-22 07:38:32 +0000
committerAndrew Tridgell <tridge@samba.org>2001-07-22 07:38:32 +0000
commit49514266131aa55b4a97f02b39b2d5e5c1f625a2 (patch)
tree81cc9bf796345a882305af58bd18caa705d4e774 /source3/include
parent512351db92b4e13c2944f740090ec58730d8fa06 (diff)
downloadsamba-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.h5
-rw-r--r--source3/include/smb.h10
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 */