[dovecot-cvs] dovecot/src/lib-charset charset-iconv.c,1.4,1.5

cras at procontrol.fi cras at procontrol.fi
Fri Nov 15 08:40:10 EET 2002


Update of /home/cvs/dovecot/src/lib-charset
In directory danu:/tmp/cvs-serv4098

Modified Files:
	charset-iconv.c 
Log Message:
Removed warnings with Solaris' iconv()



Index: charset-iconv.c
===================================================================
RCS file: /home/cvs/dovecot/src/lib-charset/charset-iconv.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- charset-iconv.c	13 Nov 2002 13:47:59 -0000	1.4
+++ charset-iconv.c	15 Nov 2002 06:40:07 -0000	1.5
@@ -8,6 +8,12 @@
 #include <iconv.h>
 #include <ctype.h>
 
+#ifdef __sun__
+#  define ICONV_CONST const
+#else
+#  define ICONV_CONST
+#endif
+
 struct _CharsetTranslation {
 	iconv_t cd;
 	int ascii;
@@ -64,7 +70,8 @@
 			  const unsigned char **inbuf, size_t *insize,
 			  unsigned char *outbuf, size_t *outsize)
 {
-	char *ic_inbuf, *ic_outbuf;
+	ICONV_CONST char *ic_inbuf;
+	char *ic_outbuf;
 	size_t outleft, max_size, i;
 
 	if (t->cd == NULL) {
@@ -77,7 +84,7 @@
 		return TRUE;
 	}
 
-	ic_inbuf = (char *) *inbuf;
+	ic_inbuf = (ICONV_CONST char *) *inbuf;
 	ic_outbuf = (char *) outbuf;
 	outleft = *outsize;
 
@@ -104,7 +111,8 @@
 			     const unsigned char *buf, size_t *size)
 {
 	iconv_t cd;
-	char *inbuf, *outbuf, *outpos;
+	ICONV_CONST char *inbuf;
+	char *outbuf, *outpos;
 	size_t inleft, outleft, outsize, pos;
 
 	if (charset == NULL || strcasecmp(charset, "us-ascii") == 0 ||
@@ -121,7 +129,7 @@
 	if (unknown_charset != NULL)
 		*unknown_charset = FALSE;
 
-	inbuf = (char *) buf;
+	inbuf = (ICONV_CONST char *) buf;
 	inleft = *size;
 
 	outsize = outleft = *size * 2;




More information about the dovecot-cvs mailing list