Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 15 Apr 2015 09:09:21 +0000 (UTC)
From:      Tijl Coosemans <tijl@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r281550 - in head: . bin/csh contrib/smbfs/include/netsmb contrib/smbfs/lib/smb include lib/libarchive lib/libc/iconv lib/libc/locale lib/libiconv_modules/BIG5 lib/libiconv_modules/DECH...
Message-ID:  <201504150909.t3F99LFB048690@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: tijl
Date: Wed Apr 15 09:09:20 2015
New Revision: 281550
URL: https://svnweb.freebsd.org/changeset/base/281550

Log:
  Remove the const qualifier from iconv(3) to comply with POSIX:
  http://pubs.opengroup.org/onlinepubs/9699919799/functions/iconv.html
  
  Adjust all code that calls iconv.
  
  PR:		199099
  Exp-run by:	antoine
  MFC after:	2 weeks

Modified:
  head/UPDATING
  head/bin/csh/config.h
  head/contrib/smbfs/include/netsmb/smb_lib.h
  head/contrib/smbfs/lib/smb/nls.c
  head/contrib/smbfs/lib/smb/print.c
  head/contrib/smbfs/lib/smb/rq.c
  head/include/iconv.h
  head/lib/libarchive/Makefile
  head/lib/libc/iconv/__iconv.c
  head/lib/libc/iconv/bsd_iconv.c
  head/lib/libc/iconv/citrus_iconv.h
  head/lib/libc/iconv/citrus_iconv_local.h
  head/lib/libc/iconv/citrus_none.c
  head/lib/libc/iconv/citrus_stdenc.h
  head/lib/libc/iconv/citrus_stdenc_local.h
  head/lib/libc/iconv/citrus_stdenc_template.h
  head/lib/libc/iconv/iconv-internal.h
  head/lib/libc/iconv/iconv.3
  head/lib/libc/iconv/iconv.c
  head/lib/libc/iconv/iconv_compat.c
  head/lib/libc/locale/cXXrtomb_iconv.h
  head/lib/libc/locale/mbrtocXX_iconv.h
  head/lib/libiconv_modules/BIG5/citrus_big5.c
  head/lib/libiconv_modules/DECHanyu/citrus_dechanyu.c
  head/lib/libiconv_modules/EUC/citrus_euc.c
  head/lib/libiconv_modules/EUCTW/citrus_euctw.c
  head/lib/libiconv_modules/GBK2K/citrus_gbk2k.c
  head/lib/libiconv_modules/HZ/citrus_hz.c
  head/lib/libiconv_modules/ISO2022/citrus_iso2022.c
  head/lib/libiconv_modules/JOHAB/citrus_johab.c
  head/lib/libiconv_modules/MSKanji/citrus_mskanji.c
  head/lib/libiconv_modules/UES/citrus_ues.c
  head/lib/libiconv_modules/UTF1632/citrus_utf1632.c
  head/lib/libiconv_modules/UTF7/citrus_utf7.c
  head/lib/libiconv_modules/UTF8/citrus_utf8.c
  head/lib/libiconv_modules/VIQR/citrus_viqr.c
  head/lib/libiconv_modules/ZW/citrus_zw.c
  head/lib/libiconv_modules/iconv_none/citrus_iconv_none.c
  head/lib/libiconv_modules/iconv_std/citrus_iconv_std.c
  head/lib/libkiconv/xlat16_iconv.c
  head/sys/sys/param.h
  head/usr.bin/iconv/iconv.c

Modified: head/UPDATING
==============================================================================
--- head/UPDATING	Wed Apr 15 08:16:34 2015	(r281549)
+++ head/UPDATING	Wed Apr 15 09:09:20 2015	(r281550)
@@ -31,6 +31,10 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11
 	disable the most expensive debugging functionality run
 	"ln -s 'abort:false,junk:false' /etc/malloc.conf".)
 
+20150415:
+	The const qualifier has been removed from iconv(3) to comply with
+	POSIX.  The ports tree is aware of this from r384038 onwards.
+
 20150324:
 	From legacy ata(4) driver was removed support for SATA controllers
 	supported by more functional drivers ahci(4), siis(4) and mvs(4).

Modified: head/bin/csh/config.h
==============================================================================
--- head/bin/csh/config.h	Wed Apr 15 08:16:34 2015	(r281549)
+++ head/bin/csh/config.h	Wed Apr 15 09:09:20 2015	(r281550)
@@ -198,7 +198,7 @@
 #define HAVE_WCWIDTH 1
 
 /* Define as const if the declaration of iconv() needs const. */
-#define ICONV_CONST const
+#define ICONV_CONST
 
 /* Support NLS. */
 #define NLS 1

Modified: head/contrib/smbfs/include/netsmb/smb_lib.h
==============================================================================
--- head/contrib/smbfs/include/netsmb/smb_lib.h	Wed Apr 15 08:16:34 2015	(r281549)
+++ head/contrib/smbfs/include/netsmb/smb_lib.h	Wed Apr 15 09:09:20 2015	(r281550)
@@ -191,7 +191,7 @@ int  smb_ctx_readrc(struct smb_ctx *);
 int  smb_ctx_resolve(struct smb_ctx *);
 int  smb_ctx_setflags(struct smb_ctx *, int, int, int);
 
-int  smb_smb_open_print_file(struct smb_ctx *, int, int, const char *, smbfh*);
+int  smb_smb_open_print_file(struct smb_ctx *, int, int, char *, smbfh*);
 int  smb_smb_close_print_file(struct smb_ctx *, smbfh);
 
 int  smb_read(struct smb_ctx *, smbfh, off_t, size_t, char *);
@@ -204,8 +204,8 @@ int  smb_rq_init(struct smb_ctx *, u_cha
 void smb_rq_done(struct smb_rq *);
 void smb_rq_wend(struct smb_rq *);
 int  smb_rq_simple(struct smb_rq *);
-int  smb_rq_dmem(struct mbdata *, const char *, size_t);
-int  smb_rq_dstring(struct mbdata *, const char *);
+int  smb_rq_dmem(struct mbdata *, char *, size_t);
+int  smb_rq_dstring(struct mbdata *, char *);
 
 int  smb_t2_request(struct smb_ctx *, int, int, const char *,
 	int, void *, int, void *, int *, void *, int *, void *);
@@ -246,10 +246,10 @@ extern u_char nls_lower[256], nls_upper[
 
 int   nls_setrecode(const char *, const char *);
 int   nls_setlocale(const char *);
-char* nls_str_toext(char *, const char *);
-char* nls_str_toloc(char *, const char *);
-void* nls_mem_toext(void *, const void *, int);
-void* nls_mem_toloc(void *, const void *, int);
+char* nls_str_toext(char *, char *);
+char* nls_str_toloc(char *, char *);
+void* nls_mem_toext(void *, void *, int);
+void* nls_mem_toloc(void *, void *, int);
 char* nls_str_upper(char *, const char *);
 char* nls_str_lower(char *, const char *);
 

Modified: head/contrib/smbfs/lib/smb/nls.c
==============================================================================
--- head/contrib/smbfs/lib/smb/nls.c	Wed Apr 15 08:16:34 2015	(r281549)
+++ head/contrib/smbfs/lib/smb/nls.c	Wed Apr 15 09:09:20 2015	(r281550)
@@ -102,7 +102,7 @@ nls_setrecode(const char *local, const c
 }
 
 char *
-nls_str_toloc(char *dst, const char *src)
+nls_str_toloc(char *dst, char *src)
 {
 #ifdef HAVE_ICONV
 	char *p = dst;
@@ -125,7 +125,7 @@ nls_str_toloc(char *dst, const char *src
 }
 
 char *
-nls_str_toext(char *dst, const char *src)
+nls_str_toext(char *dst, char *src)
 {
 #ifdef HAVE_ICONV
 	char *p = dst;
@@ -148,11 +148,11 @@ nls_str_toext(char *dst, const char *src
 }
 
 void *
-nls_mem_toloc(void *dst, const void *src, int size)
+nls_mem_toloc(void *dst, void *src, int size)
 {
 #ifdef HAVE_ICONV
 	char *p = dst;
-	const char *s = src;
+	char *s = src;
 	size_t inlen, outlen;
 
 	if (size == 0)
@@ -174,11 +174,11 @@ nls_mem_toloc(void *dst, const void *src
 }
 
 void *
-nls_mem_toext(void *dst, const void *src, int size)
+nls_mem_toext(void *dst, void *src, int size)
 {
 #ifdef HAVE_ICONV
 	char *p = dst;
-	const char *s = src;
+	char *s = src;
 	size_t inlen, outlen;
 
 	if (size == 0)

Modified: head/contrib/smbfs/lib/smb/print.c
==============================================================================
--- head/contrib/smbfs/lib/smb/print.c	Wed Apr 15 08:16:34 2015	(r281549)
+++ head/contrib/smbfs/lib/smb/print.c	Wed Apr 15 09:09:20 2015	(r281550)
@@ -54,7 +54,7 @@
 
 int
 smb_smb_open_print_file(struct smb_ctx *ctx, int setuplen, int mode,
-	const char *ident, smbfh *fhp)
+	char *ident, smbfh *fhp)
 {
 	struct smb_rq *rqp;
 	struct mbdata *mbp;

Modified: head/contrib/smbfs/lib/smb/rq.c
==============================================================================
--- head/contrib/smbfs/lib/smb/rq.c	Wed Apr 15 08:16:34 2015	(r281549)
+++ head/contrib/smbfs/lib/smb/rq.c	Wed Apr 15 09:09:20 2015	(r281550)
@@ -86,7 +86,7 @@ smb_rq_wend(struct smb_rq *rqp)
 }
 
 int
-smb_rq_dmem(struct mbdata *mbp, const char *src, size_t size)
+smb_rq_dmem(struct mbdata *mbp, char *src, size_t size)
 {
 	struct mbuf *m;
 	char * dst;
@@ -118,7 +118,7 @@ smb_rq_dmem(struct mbdata *mbp, const ch
 }
 
 int
-smb_rq_dstring(struct mbdata *mbp, const char *s)
+smb_rq_dstring(struct mbdata *mbp, char *s)
 {
 	return smb_rq_dmem(mbp, s, strlen(s) + 1);
 }

Modified: head/include/iconv.h
==============================================================================
--- head/include/iconv.h	Wed Apr 15 08:16:34 2015	(r281549)
+++ head/include/iconv.h	Wed Apr 15 09:09:20 2015	(r281550)
@@ -53,7 +53,7 @@ typedef	struct __tag_iconv_t	*iconv_t;
 
 __BEGIN_DECLS
 iconv_t	iconv_open(const char *, const char *);
-size_t	iconv(iconv_t, const char ** __restrict,
+size_t	iconv(iconv_t, char ** __restrict,
 	      size_t * __restrict, char ** __restrict,
 	      size_t * __restrict);
 int	iconv_close(iconv_t);
@@ -62,7 +62,7 @@ int	iconv_close(iconv_t);
  */
 int	__iconv_get_list(char ***, size_t *, __iconv_bool);
 void	__iconv_free_list(char **, size_t);
-size_t	__iconv(iconv_t, const char **, size_t *, char **,
+size_t	__iconv(iconv_t, char **, size_t *, char **,
 		     size_t *, __uint32_t, size_t *);
 #define __ICONV_F_HIDE_INVALID	0x0001
 

Modified: head/lib/libarchive/Makefile
==============================================================================
--- head/lib/libarchive/Makefile	Wed Apr 15 08:16:34 2015	(r281549)
+++ head/lib/libarchive/Makefile	Wed Apr 15 09:09:20 2015	(r281550)
@@ -25,7 +25,7 @@ LIBADD+=	md
 .if ${MK_ICONV} != "no"
 # TODO: This can be changed back to CFLAGS once iconv works correctly
 # with statically linked binaries.
-SHARED_CFLAGS+=	-DHAVE_ICONV=1 -DHAVE_ICONV_H=1 -DICONV_CONST=const
+SHARED_CFLAGS+=	-DHAVE_ICONV=1 -DHAVE_ICONV_H=1 -DICONV_CONST=
 .endif
 
 .if ${MACHINE_ARCH:Marm*} != "" || ${MACHINE_ARCH:Mmips*} != "" || \

Modified: head/lib/libc/iconv/__iconv.c
==============================================================================
--- head/lib/libc/iconv/__iconv.c	Wed Apr 15 08:16:34 2015	(r281549)
+++ head/lib/libc/iconv/__iconv.c	Wed Apr 15 09:09:20 2015	(r281550)
@@ -31,7 +31,7 @@
 #include "iconv-internal.h"
 
 size_t
-__iconv(iconv_t a, const char **b, size_t *c, char **d,
+__iconv(iconv_t a, char **b, size_t *c, char **d,
      size_t *e, __uint32_t f, size_t *g)
 {
 	return __bsd___iconv(a, b, c, d, e, f, g);

Modified: head/lib/libc/iconv/bsd_iconv.c
==============================================================================
--- head/lib/libc/iconv/bsd_iconv.c	Wed Apr 15 08:16:34 2015	(r281549)
+++ head/lib/libc/iconv/bsd_iconv.c	Wed Apr 15 09:09:20 2015	(r281550)
@@ -120,7 +120,7 @@ __bsd_iconv_close(iconv_t handle)
 }
 
 size_t
-__bsd_iconv(iconv_t handle, const char **in, size_t *szin, char **out, size_t *szout)
+__bsd_iconv(iconv_t handle, char **in, size_t *szin, char **out, size_t *szout)
 {
 	size_t ret;
 	int err;
@@ -141,7 +141,7 @@ __bsd_iconv(iconv_t handle, const char *
 }
 
 size_t
-__bsd___iconv(iconv_t handle, const char **in, size_t *szin, char **out,
+__bsd___iconv(iconv_t handle, char **in, size_t *szin, char **out,
     size_t *szout, uint32_t flags, size_t *invalids)
 {
 	size_t ret;

Modified: head/lib/libc/iconv/citrus_iconv.h
==============================================================================
--- head/lib/libc/iconv/citrus_iconv.h	Wed Apr 15 08:16:34 2015	(r281549)
+++ head/lib/libc/iconv/citrus_iconv.h	Wed Apr 15 09:09:20 2015	(r281550)
@@ -52,7 +52,7 @@ __END_DECLS
  */
 static __inline int
 _citrus_iconv_convert(struct _citrus_iconv * __restrict cv,
-    const char * __restrict * __restrict in, size_t * __restrict inbytes,
+    char * __restrict * __restrict in, size_t * __restrict inbytes,
     char * __restrict * __restrict out, size_t * __restrict outbytes,
     uint32_t flags, size_t * __restrict nresults)
 {

Modified: head/lib/libc/iconv/citrus_iconv_local.h
==============================================================================
--- head/lib/libc/iconv/citrus_iconv_local.h	Wed Apr 15 08:16:34 2015	(r281549)
+++ head/lib/libc/iconv/citrus_iconv_local.h	Wed Apr 15 09:09:20 2015	(r281550)
@@ -46,7 +46,7 @@ static void	 _citrus_##_m_##_iconv_unini
 		    (struct _citrus_iconv_shared *);			\
 static int	 _citrus_##_m_##_iconv_convert				\
 		    (struct _citrus_iconv * __restrict,			\
-		    const char * __restrict * __restrict,		\
+		    char * __restrict * __restrict,			\
 		    size_t * __restrict,				\
 		    char * __restrict * __restrict,			\
 		    size_t * __restrict outbytes,			\
@@ -75,7 +75,7 @@ typedef void (*_citrus_iconv_uninit_shar
     (struct _citrus_iconv_shared *);
 typedef int (*_citrus_iconv_convert_t)
     (struct _citrus_iconv * __restrict,
-    const char *__restrict* __restrict, size_t * __restrict,
+    char *__restrict* __restrict, size_t * __restrict,
     char * __restrict * __restrict, size_t * __restrict, uint32_t,
     size_t * __restrict);
 typedef int (*_citrus_iconv_init_context_t)(struct _citrus_iconv *);

Modified: head/lib/libc/iconv/citrus_none.c
==============================================================================
--- head/lib/libc/iconv/citrus_none.c	Wed Apr 15 08:16:34 2015	(r281549)
+++ head/lib/libc/iconv/citrus_none.c	Wed Apr 15 09:09:20 2015	(r281550)
@@ -83,7 +83,7 @@ _citrus_NONE_stdenc_init_state(struct _c
 
 static int
 _citrus_NONE_stdenc_mbtocs(struct _citrus_stdenc * __restrict ce __unused,
-    _csid_t *csid, _index_t *idx, const char **s, size_t n,
+    _csid_t *csid, _index_t *idx, char **s, size_t n,
     void *ps __unused, size_t *nresult, struct iconv_hooks *hooks)
 {
 
@@ -159,7 +159,7 @@ _citrus_NONE_stdenc_cstomb(struct _citru
 
 static int
 _citrus_NONE_stdenc_mbtowc(struct _citrus_stdenc * __restrict ce __unused,
-    _wc_t * __restrict pwc, const char ** __restrict s, size_t n,
+    _wc_t * __restrict pwc, char ** __restrict s, size_t n,
     void * __restrict pspriv __unused, size_t * __restrict nresult,
     struct iconv_hooks *hooks)
 {

Modified: head/lib/libc/iconv/citrus_stdenc.h
==============================================================================
--- head/lib/libc/iconv/citrus_stdenc.h	Wed Apr 15 08:16:34 2015	(r281549)
+++ head/lib/libc/iconv/citrus_stdenc.h	Wed Apr 15 09:09:20 2015	(r281550)
@@ -69,7 +69,7 @@ _citrus_stdenc_init_state(struct _citrus
 static __inline int
 _citrus_stdenc_mbtocs(struct _citrus_stdenc * __restrict ce,
     _citrus_csid_t * __restrict csid, _citrus_index_t * __restrict idx,
-    const char ** __restrict s, size_t n, void * __restrict ps,
+    char ** __restrict s, size_t n, void * __restrict ps,
     size_t * __restrict nresult, struct iconv_hooks *hooks)
 {
 

Modified: head/lib/libc/iconv/citrus_stdenc_local.h
==============================================================================
--- head/lib/libc/iconv/citrus_stdenc_local.h	Wed Apr 15 08:16:34 2015	(r281549)
+++ head/lib/libc/iconv/citrus_stdenc_local.h	Wed Apr 15 09:09:20 2015	(r281550)
@@ -55,7 +55,7 @@ static int	 _citrus_##_e_##_stdenc_mbtoc
 		    (struct _citrus_stdenc * __restrict,		\
 		    _citrus_csid_t * __restrict,			\
 		    _citrus_index_t * __restrict,			\
-		    const char ** __restrict, size_t,			\
+		    char ** __restrict, size_t,				\
 		    void * __restrict, size_t * __restrict,		\
 		    struct iconv_hooks *);				\
 static int	 _citrus_##_e_##_stdenc_cstomb				\
@@ -66,7 +66,7 @@ static int	 _citrus_##_e_##_stdenc_cstom
 static int	 _citrus_##_e_##_stdenc_mbtowc				\
 		    (struct _citrus_stdenc * __restrict,		\
 		    _citrus_wc_t * __restrict,				\
-		    const char ** __restrict, size_t,				\
+		    char ** __restrict, size_t,				\
 		    void * __restrict, size_t * __restrict,		\
 		    struct iconv_hooks *);				\
 static int	 _citrus_##_e_##_stdenc_wctomb				\
@@ -106,7 +106,7 @@ typedef int (*_citrus_stdenc_init_state_
 typedef int (*_citrus_stdenc_mbtocs_t)
     (struct _citrus_stdenc * __restrict,
     _citrus_csid_t * __restrict, _citrus_index_t * __restrict,
-    const char ** __restrict, size_t,
+    char ** __restrict, size_t,
     void * __restrict, size_t * __restrict,
     struct iconv_hooks *);
 typedef int (*_citrus_stdenc_cstomb_t)
@@ -116,7 +116,7 @@ typedef int (*_citrus_stdenc_cstomb_t)
 typedef int (*_citrus_stdenc_mbtowc_t)
     (struct _citrus_stdenc * __restrict,
     _citrus_wc_t * __restrict,
-    const char ** __restrict, size_t,
+    char ** __restrict, size_t,
     void * __restrict, size_t * __restrict,
     struct iconv_hooks *);
 typedef int (*_citrus_stdenc_wctomb_t)

Modified: head/lib/libc/iconv/citrus_stdenc_template.h
==============================================================================
--- head/lib/libc/iconv/citrus_stdenc_template.h	Wed Apr 15 08:16:34 2015	(r281549)
+++ head/lib/libc/iconv/citrus_stdenc_template.h	Wed Apr 15 09:09:20 2015	(r281550)
@@ -112,7 +112,7 @@ _FUNCNAME(stdenc_init_state)(struct _cit
 static int
 _FUNCNAME(stdenc_mbtocs)(struct _citrus_stdenc * __restrict ce,
     _citrus_csid_t * __restrict csid, _citrus_index_t * __restrict idx,
-    const char ** __restrict s, size_t n, void * __restrict ps,
+    char ** __restrict s, size_t n, void * __restrict ps,
     size_t * __restrict nresult, struct iconv_hooks *hooks)
 {
 	wchar_t wc;
@@ -151,7 +151,7 @@ _FUNCNAME(stdenc_cstomb)(struct _citrus_
 
 static int
 _FUNCNAME(stdenc_mbtowc)(struct _citrus_stdenc * __restrict ce,
-    _citrus_wc_t * __restrict wc, const char ** __restrict s, size_t n,
+    _citrus_wc_t * __restrict wc, char ** __restrict s, size_t n,
     void * __restrict ps, size_t * __restrict nresult,
     struct iconv_hooks *hooks)
 {

Modified: head/lib/libc/iconv/iconv-internal.h
==============================================================================
--- head/lib/libc/iconv/iconv-internal.h	Wed Apr 15 08:16:34 2015	(r281549)
+++ head/lib/libc/iconv/iconv-internal.h	Wed Apr 15 09:09:20 2015	(r281550)
@@ -29,11 +29,11 @@
 /*
  * Interal prototypes for our back-end functions.
  */
-size_t	__bsd___iconv(iconv_t, const char **, size_t *, char **,
+size_t	__bsd___iconv(iconv_t, char **, size_t *, char **,
 		size_t *, __uint32_t, size_t *);
 void	__bsd___iconv_free_list(char **, size_t);
 int	__bsd___iconv_get_list(char ***, size_t *, __iconv_bool);
-size_t	__bsd_iconv(iconv_t, const char ** __restrict,
+size_t	__bsd_iconv(iconv_t, char ** __restrict,
 		    size_t * __restrict, char ** __restrict,
 		    size_t * __restrict);
 const char *__bsd_iconv_canonicalize(const char *);

Modified: head/lib/libc/iconv/iconv.3
==============================================================================
--- head/lib/libc/iconv/iconv.3	Wed Apr 15 08:16:34 2015	(r281549)
+++ head/lib/libc/iconv/iconv.3	Wed Apr 15 09:09:20 2015	(r281550)
@@ -48,7 +48,7 @@
 .Ft size_t
 .Fn iconv "iconv_t cd" "char ** restrict src" "size_t * restrict srcleft" "char ** restrict dst" "size_t * restrict dstleft"
 .Ft size_t
-.Fn __iconv "iconv_t cd" "const char ** restrict src" "size_t * restrict srcleft" "char ** restrict dst" "size_t * restrict dstleft" "uint32_t flags" "size_t * invalids"
+.Fn __iconv "iconv_t cd" "char ** restrict src" "size_t * restrict srcleft" "char ** restrict dst" "size_t * restrict dstleft" "uint32_t flags" "size_t * invalids"
 .Sh DESCRIPTION
 The
 .Fn iconv_open

Modified: head/lib/libc/iconv/iconv.c
==============================================================================
--- head/lib/libc/iconv/iconv.c	Wed Apr 15 08:16:34 2015	(r281549)
+++ head/lib/libc/iconv/iconv.c	Wed Apr 15 09:09:20 2015	(r281550)
@@ -31,7 +31,7 @@
 #include "iconv-internal.h"
 
 size_t
-iconv(iconv_t a, const char ** __restrict b,
+iconv(iconv_t a, char ** __restrict b,
       size_t * __restrict c, char ** __restrict d,
       size_t * __restrict e)
 {

Modified: head/lib/libc/iconv/iconv_compat.c
==============================================================================
--- head/lib/libc/iconv/iconv_compat.c	Wed Apr 15 08:16:34 2015	(r281549)
+++ head/lib/libc/iconv/iconv_compat.c	Wed Apr 15 09:09:20 2015	(r281550)
@@ -37,7 +37,7 @@
 #include "iconv-internal.h"
 
 size_t
-__iconv_compat(iconv_t a, const char ** b, size_t * c, char ** d,
+__iconv_compat(iconv_t a, char ** b, size_t * c, char ** d,
      size_t * e, __uint32_t f, size_t *g)
 {
 	return __bsd___iconv(a, b, c, d, e, f, g);
@@ -56,7 +56,7 @@ __iconv_get_list_compat(char ***a, size_
 }
 
 size_t
-iconv_compat(iconv_t a, const char ** __restrict b,
+iconv_compat(iconv_t a, char ** __restrict b,
       size_t * __restrict c, char ** __restrict d,
       size_t * __restrict e)
 {

Modified: head/lib/libc/locale/cXXrtomb_iconv.h
==============================================================================
--- head/lib/libc/locale/cXXrtomb_iconv.h	Wed Apr 15 08:16:34 2015	(r281549)
+++ head/lib/libc/locale/cXXrtomb_iconv.h	Wed Apr 15 09:09:20 2015	(r281550)
@@ -57,8 +57,7 @@ cXXrtomb_l(char * __restrict s, charXX_t
 {
 	_ConversionState *cs;
 	struct _citrus_iconv *handle;
-	const char *src;
-	char *dst;
+	char *src, *dst;
 	size_t srcleft, dstleft, invlen;
 	int err;
 

Modified: head/lib/libc/locale/mbrtocXX_iconv.h
==============================================================================
--- head/lib/libc/locale/mbrtocXX_iconv.h	Wed Apr 15 08:16:34 2015	(r281549)
+++ head/lib/libc/locale/mbrtocXX_iconv.h	Wed Apr 15 09:09:20 2015	(r281550)
@@ -99,8 +99,7 @@ mbrtocXX_l(charXX_t * __restrict pc, con
 
 	/* Convert as few characters to the dst buffer as possible. */
 	for (i = 0; ; i++) {
-		const char *src;
-		char *dst;
+		char *src, *dst;
 		size_t srcleft, dstleft, invlen;
 		int err;
 

Modified: head/lib/libiconv_modules/BIG5/citrus_big5.c
==============================================================================
--- head/lib/libiconv_modules/BIG5/citrus_big5.c	Wed Apr 15 08:16:34 2015	(r281549)
+++ head/lib/libiconv_modules/BIG5/citrus_big5.c	Wed Apr 15 09:09:20 2015	(r281550)
@@ -269,12 +269,12 @@ static int
 /*ARGSUSED*/
 _citrus_BIG5_mbrtowc_priv(_BIG5EncodingInfo * __restrict ei,
     wchar_t * __restrict pwc,
-    const char ** __restrict s, size_t n,
+    char ** __restrict s, size_t n,
     _BIG5State * __restrict psenc,
     size_t * __restrict nresult)
 {
 	wchar_t wchar;
-	const char *s0;
+	char *s0;
 	int c, chlenbak;
 
 	s0 = *s;

Modified: head/lib/libiconv_modules/DECHanyu/citrus_dechanyu.c
==============================================================================
--- head/lib/libiconv_modules/DECHanyu/citrus_dechanyu.c	Wed Apr 15 08:16:34 2015	(r281549)
+++ head/lib/libiconv_modules/DECHanyu/citrus_dechanyu.c	Wed Apr 15 09:09:20 2015	(r281550)
@@ -165,10 +165,10 @@ is_94charset(int c)
 static int
 /*ARGSUSED*/
 _citrus_DECHanyu_mbrtowc_priv(_DECHanyuEncodingInfo * __restrict ei,
-    wchar_t * __restrict pwc, const char ** __restrict s, size_t n,
+    wchar_t * __restrict pwc, char ** __restrict s, size_t n,
     _DECHanyuState * __restrict psenc, size_t * __restrict nresult)
 {
-	const char *s0;
+	char *s0;
 	wchar_t wc;
 	int ch;
 

Modified: head/lib/libiconv_modules/EUC/citrus_euc.c
==============================================================================
--- head/lib/libiconv_modules/EUC/citrus_euc.c	Wed Apr 15 08:16:34 2015	(r281549)
+++ head/lib/libiconv_modules/EUC/citrus_euc.c	Wed Apr 15 09:09:20 2015	(r281550)
@@ -190,12 +190,12 @@ _citrus_EUC_unpack_state(_EUCEncodingInf
 #endif
 
 static int
-_citrus_EUC_mbrtowc_priv(_EUCEncodingInfo *ei, wchar_t *pwc, const char **s,
+_citrus_EUC_mbrtowc_priv(_EUCEncodingInfo *ei, wchar_t *pwc, char **s,
     size_t n, _EUCState *psenc, size_t *nresult)
 {
 	wchar_t wchar;
 	int c, chlenbak, cs, len;
-	const char *s0, *s1 = NULL;
+	char *s0, *s1 = NULL;
 
 	s0 = *s;
 

Modified: head/lib/libiconv_modules/EUCTW/citrus_euctw.c
==============================================================================
--- head/lib/libiconv_modules/EUCTW/citrus_euctw.c	Wed Apr 15 08:16:34 2015	(r281549)
+++ head/lib/libiconv_modules/EUCTW/citrus_euctw.c	Wed Apr 15 09:09:20 2015	(r281550)
@@ -176,10 +176,10 @@ _citrus_EUCTW_encoding_module_uninit(_EU
 
 static int
 _citrus_EUCTW_mbrtowc_priv(_EUCTWEncodingInfo * __restrict ei,
-    wchar_t * __restrict pwc, const char ** __restrict s,
+    wchar_t * __restrict pwc, char ** __restrict s,
     size_t n, _EUCTWState * __restrict psenc, size_t * __restrict nresult)
 {
-	const char *s0;
+	char *s0;
 	wchar_t wchar;
 	int c, chlenbak, cs;
 

Modified: head/lib/libiconv_modules/GBK2K/citrus_gbk2k.c
==============================================================================
--- head/lib/libiconv_modules/GBK2K/citrus_gbk2k.c	Wed Apr 15 08:16:34 2015	(r281549)
+++ head/lib/libiconv_modules/GBK2K/citrus_gbk2k.c	Wed Apr 15 09:09:20 2015	(r281550)
@@ -149,10 +149,10 @@ _mb_count(wchar_t v)
 
 static int
 _citrus_GBK2K_mbrtowc_priv(_GBK2KEncodingInfo * __restrict ei,
-    wchar_t * __restrict pwc, const char ** __restrict s, size_t n,
+    wchar_t * __restrict pwc, char ** __restrict s, size_t n,
     _GBK2KState * __restrict psenc, size_t * __restrict nresult)
 {
-	const char *s0, *s1;
+	char *s0, *s1;
 	wchar_t wc;
 	int chlenbak, len;
 

Modified: head/lib/libiconv_modules/HZ/citrus_hz.c
==============================================================================
--- head/lib/libiconv_modules/HZ/citrus_hz.c	Wed Apr 15 08:16:34 2015	(r281549)
+++ head/lib/libiconv_modules/HZ/citrus_hz.c	Wed Apr 15 09:09:20 2015	(r281550)
@@ -175,13 +175,13 @@ _citrus_HZ_unpack_state(_HZEncodingInfo 
 
 static int
 _citrus_HZ_mbrtowc_priv(_HZEncodingInfo * __restrict ei,
-    wchar_t * __restrict pwc, const char ** __restrict s, size_t n,
+    wchar_t * __restrict pwc, char ** __restrict s, size_t n,
     _HZState * __restrict psenc, size_t * __restrict nresult)
 {
 	escape_t *candidate, *init;
 	graphic_t *graphic;
 	const range_t *range;
-	const char *s0;
+	char *s0;
 	wchar_t wc;
 	int bit, ch, head, len, tail;
 

Modified: head/lib/libiconv_modules/ISO2022/citrus_iso2022.c
==============================================================================
--- head/lib/libiconv_modules/ISO2022/citrus_iso2022.c	Wed Apr 15 08:16:34 2015	(r281549)
+++ head/lib/libiconv_modules/ISO2022/citrus_iso2022.c	Wed Apr 15 09:09:20 2015	(r281550)
@@ -574,7 +574,7 @@ terminate:
 
 static wchar_t
 _ISO2022_sgetwchar(_ISO2022EncodingInfo * __restrict ei __unused,
-    const char * __restrict string, size_t n, const char ** __restrict result,
+    char * __restrict string, size_t n, char ** __restrict result,
     _ISO2022State * __restrict psenc)
 {
 	const struct seqtable *sp;
@@ -842,10 +842,10 @@ asis:
 
 static int
 _citrus_ISO2022_mbrtowc_priv(_ISO2022EncodingInfo * __restrict ei,
-    wchar_t * __restrict pwc, const char ** __restrict s,
+    wchar_t * __restrict pwc, char ** __restrict s,
     size_t n, _ISO2022State * __restrict psenc, size_t * __restrict nresult)
 {
-	const char *p, *result, *s0;
+	char *p, *result, *s0;
 	wchar_t wchar;
 	int c, chlenbak;
 

Modified: head/lib/libiconv_modules/JOHAB/citrus_johab.c
==============================================================================
--- head/lib/libiconv_modules/JOHAB/citrus_johab.c	Wed Apr 15 08:16:34 2015	(r281549)
+++ head/lib/libiconv_modules/JOHAB/citrus_johab.c	Wed Apr 15 09:09:20 2015	(r281550)
@@ -145,10 +145,10 @@ ishanja(int l, int t)
 static int
 /*ARGSUSED*/
 _citrus_JOHAB_mbrtowc_priv(_JOHABEncodingInfo * __restrict ei,
-    wchar_t * __restrict pwc, const char ** __restrict s, size_t n,
+    wchar_t * __restrict pwc, char ** __restrict s, size_t n,
     _JOHABState * __restrict psenc, size_t * __restrict nresult)
 {
-	const char *s0;
+	char *s0;
 	int l, t;
 
 	if (*s == NULL) {

Modified: head/lib/libiconv_modules/MSKanji/citrus_mskanji.c
==============================================================================
--- head/lib/libiconv_modules/MSKanji/citrus_mskanji.c	Wed Apr 15 08:16:34 2015	(r281549)
+++ head/lib/libiconv_modules/MSKanji/citrus_mskanji.c	Wed Apr 15 09:09:20 2015	(r281550)
@@ -153,10 +153,10 @@ _citrus_MSKanji_unpack_state(_MSKanjiEnc
 static int
 /*ARGSUSED*/
 _citrus_MSKanji_mbrtowc_priv(_MSKanjiEncodingInfo * __restrict ei,
-    wchar_t * __restrict pwc, const char ** __restrict s, size_t n,
+    wchar_t * __restrict pwc, char ** __restrict s, size_t n,
     _MSKanjiState * __restrict psenc, size_t * __restrict nresult)
 {
-	const char *s0;
+	char *s0;
 	wchar_t wchar;
 	int chlenbak, len;
 

Modified: head/lib/libiconv_modules/UES/citrus_ues.c
==============================================================================
--- head/lib/libiconv_modules/UES/citrus_ues.c	Wed Apr 15 08:16:34 2015	(r281549)
+++ head/lib/libiconv_modules/UES/citrus_ues.c	Wed Apr 15 09:09:20 2015	(r281550)
@@ -185,10 +185,10 @@ is_basic(wchar_t wc)
 
 static int
 _citrus_UES_mbrtowc_priv(_UESEncodingInfo * __restrict ei,
-    wchar_t * __restrict pwc, const char ** __restrict s, size_t n,
+    wchar_t * __restrict pwc, char ** __restrict s, size_t n,
     _UESState * __restrict psenc, size_t * __restrict nresult)
 {
-	const char *s0;
+	char *s0;
 	int ch, head, num, tail;
 	wchar_t hi, wc;
 

Modified: head/lib/libiconv_modules/UTF1632/citrus_utf1632.c
==============================================================================
--- head/lib/libiconv_modules/UTF1632/citrus_utf1632.c	Wed Apr 15 08:16:34 2015	(r281549)
+++ head/lib/libiconv_modules/UTF1632/citrus_utf1632.c	Wed Apr 15 09:09:20 2015	(r281550)
@@ -97,9 +97,9 @@ _citrus_UTF1632_init_state(_UTF1632Encod
 
 static int
 _citrus_UTF1632_mbrtowc_priv(_UTF1632EncodingInfo *ei, wchar_t *pwc,
-    const char **s, size_t n, _UTF1632State *psenc, size_t *nresult)
+    char **s, size_t n, _UTF1632State *psenc, size_t *nresult)
 {
-	const char *s0;
+	char *s0;
 	size_t result;
 	wchar_t wc = L'\0';
 	int chlenbak, endian, needlen;

Modified: head/lib/libiconv_modules/UTF7/citrus_utf7.c
==============================================================================
--- head/lib/libiconv_modules/UTF7/citrus_utf7.c	Wed Apr 15 08:16:34 2015	(r281549)
+++ head/lib/libiconv_modules/UTF7/citrus_utf7.c	Wed Apr 15 09:09:20 2015	(r281550)
@@ -151,11 +151,11 @@ static const char spaces[] = " \t\r\n";
 
 static int
 _citrus_UTF7_mbtoutf16(_UTF7EncodingInfo * __restrict ei,
-    uint16_t * __restrict u16, const char ** __restrict s, size_t n,
+    uint16_t * __restrict u16, char ** __restrict s, size_t n,
     _UTF7State * __restrict psenc, size_t * __restrict nresult)
 {
 	_UTF7State sv;
-	const char *s0;
+	char *s0;
 	int done, i, len;
 
 	s0 = *s;
@@ -244,7 +244,7 @@ ilseq:
 
 static int
 _citrus_UTF7_mbrtowc_priv(_UTF7EncodingInfo * __restrict ei,
-    wchar_t * __restrict pwc, const char ** __restrict s, size_t n,
+    wchar_t * __restrict pwc, char ** __restrict s, size_t n,
     _UTF7State * __restrict psenc, size_t * __restrict nresult)
 {
 	uint32_t u32;

Modified: head/lib/libiconv_modules/UTF8/citrus_utf8.c
==============================================================================
--- head/lib/libiconv_modules/UTF8/citrus_utf8.c	Wed Apr 15 08:16:34 2015	(r281549)
+++ head/lib/libiconv_modules/UTF8/citrus_utf8.c	Wed Apr 15 09:09:20 2015	(r281550)
@@ -177,10 +177,10 @@ _citrus_UTF8_unpack_state(_UTF8EncodingI
 #endif
 
 static int
-_citrus_UTF8_mbrtowc_priv(_UTF8EncodingInfo *ei, wchar_t *pwc, const char **s,
+_citrus_UTF8_mbrtowc_priv(_UTF8EncodingInfo *ei, wchar_t *pwc, char **s,
     size_t n, _UTF8State *psenc, size_t *nresult)
 {
-	const char *s0;
+	char *s0;
 	wchar_t wchar;
 	int i;
 	uint8_t c;

Modified: head/lib/libiconv_modules/VIQR/citrus_viqr.c
==============================================================================
--- head/lib/libiconv_modules/VIQR/citrus_viqr.c	Wed Apr 15 08:16:34 2015	(r281549)
+++ head/lib/libiconv_modules/VIQR/citrus_viqr.c	Wed Apr 15 09:09:20 2015	(r281550)
@@ -252,11 +252,11 @@ _citrus_VIQR_unpack_state(_VIQREncodingI
 
 static int
 _citrus_VIQR_mbrtowc_priv(_VIQREncodingInfo * __restrict ei,
-    wchar_t * __restrict pwc, const char ** __restrict s, size_t n,
+    wchar_t * __restrict pwc, char ** __restrict s, size_t n,
     _VIQRState * __restrict psenc, size_t * __restrict nresult)
 {
 	mnemonic_t *m, *m0;
-	const char *s0;
+	char *s0;
 	wchar_t wc;
 	ssize_t i;
 	int ch, escape;

Modified: head/lib/libiconv_modules/ZW/citrus_zw.c
==============================================================================
--- head/lib/libiconv_modules/ZW/citrus_zw.c	Wed Apr 15 08:16:34 2015	(r281549)
+++ head/lib/libiconv_modules/ZW/citrus_zw.c	Wed Apr 15 09:09:20 2015	(r281550)
@@ -107,10 +107,10 @@ _citrus_ZW_unpack_state(_ZWEncodingInfo 
 
 static int
 _citrus_ZW_mbrtowc_priv(_ZWEncodingInfo * __restrict ei,
-    wchar_t * __restrict pwc, const char **__restrict s, size_t n,
+    wchar_t * __restrict pwc, char **__restrict s, size_t n,
     _ZWState * __restrict psenc, size_t * __restrict nresult)
 {
-	const char *s0;
+	char *s0;
 	wchar_t  wc;
 	int ch, len;
 

Modified: head/lib/libiconv_modules/iconv_none/citrus_iconv_none.c
==============================================================================
--- head/lib/libiconv_modules/iconv_none/citrus_iconv_none.c	Wed Apr 15 08:16:34 2015	(r281549)
+++ head/lib/libiconv_modules/iconv_none/citrus_iconv_none.c	Wed Apr 15 09:09:20 2015	(r281550)
@@ -97,7 +97,7 @@ _citrus_iconv_none_iconv_uninit_context(
 static int
 /*ARGSUSED*/
 _citrus_iconv_none_iconv_convert(struct _citrus_iconv * __restrict ci __unused,
-    const char * __restrict * __restrict in, size_t * __restrict inbytes,
+    char * __restrict * __restrict in, size_t * __restrict inbytes,
     char * __restrict * __restrict out, size_t * __restrict outbytes,
     uint32_t flags __unused, size_t * __restrict invalids)
 {

Modified: head/lib/libiconv_modules/iconv_std/citrus_iconv_std.c
==============================================================================
--- head/lib/libiconv_modules/iconv_std/citrus_iconv_std.c	Wed Apr 15 08:16:34 2015	(r281549)
+++ head/lib/libiconv_modules/iconv_std/citrus_iconv_std.c	Wed Apr 15 09:09:20 2015	(r281550)
@@ -104,7 +104,7 @@ init_encoding_state(struct _citrus_iconv
 
 static __inline int
 mbtocsx(struct _citrus_iconv_std_encoding *se,
-    _csid_t *csid, _index_t *idx, const char **s, size_t n, size_t *nresult,
+    _csid_t *csid, _index_t *idx, char **s, size_t n, size_t *nresult,
     struct iconv_hooks *hooks)
 {
 
@@ -461,7 +461,7 @@ _citrus_iconv_std_iconv_uninit_context(s
 
 static int
 _citrus_iconv_std_iconv_convert(struct _citrus_iconv * __restrict cv,
-    const char * __restrict * __restrict in, size_t * __restrict inbytes,
+    char * __restrict * __restrict in, size_t * __restrict inbytes,
     char * __restrict * __restrict out, size_t * __restrict outbytes,
     uint32_t flags, size_t * __restrict invalids)
 {
@@ -469,7 +469,7 @@ _citrus_iconv_std_iconv_convert(struct _
 	struct _citrus_iconv_std_context *sc = cv->cv_closure;
 	_csid_t csid;
 	_index_t idx;
-	const char *tmpin;
+	char *tmpin;
 	size_t inval, szrin, szrout;
 	int ret, state = 0;
 

Modified: head/lib/libkiconv/xlat16_iconv.c
==============================================================================
--- head/lib/libkiconv/xlat16_iconv.c	Wed Apr 15 08:16:34 2015	(r281549)
+++ head/lib/libkiconv/xlat16_iconv.c	Wed Apr 15 09:09:20 2015	(r281550)
@@ -62,7 +62,7 @@ static int chklocale(int, const char *);
 typedef void *iconv_t;
 static int my_iconv_init(void);
 static iconv_t (*my_iconv_open)(const char *, const char *);
-static size_t (*my_iconv)(iconv_t, const char **, size_t *, char **, size_t *);
+static size_t (*my_iconv)(iconv_t, char **, size_t *, char **, size_t *);
 static int (*my_iconv_close)(iconv_t);
 #else
 #include <iconv.h>
@@ -71,7 +71,7 @@ static int (*my_iconv_close)(iconv_t);
 #define my_iconv iconv
 #define my_iconv_close iconv_close
 #endif
-static size_t my_iconv_char(iconv_t, const u_char **, size_t *, u_char **, size_t *);
+static size_t my_iconv_char(iconv_t, u_char **, size_t *, u_char **, size_t *);
 
 int
 kiconv_add_xlat16_cspair(const char *tocode, const char *fromcode, int flag)
@@ -221,8 +221,8 @@ kiconv_xlat16_open(const char *tocode, c
 			src[0] = (u_char)(c >> 8);
 			src[1] = (u_char)c;
 
-			ret = my_iconv_char(cd, (const u_char **)&srcp,
-			    &inbytesleft, &dstp, &outbytesleft);
+			ret = my_iconv_char(cd, &srcp, &inbytesleft,
+				&dstp, &outbytesleft);
 			if (ret == -1) {
 				table[us] = 0;
 				continue;
@@ -338,11 +338,10 @@ my_iconv_init(void)
 #endif
 
 static size_t
-my_iconv_char(iconv_t cd, const u_char **ibuf, size_t * ilen, u_char **obuf,
+my_iconv_char(iconv_t cd, u_char **ibuf, size_t * ilen, u_char **obuf,
 	size_t * olen)
 {
-	const u_char *sp;
-	u_char *dp, ilocal[3], olocal[3];
+	u_char *sp, *dp, ilocal[3], olocal[3];
 	u_char c1, c2;
 	int ret;
 	size_t ir, or;
@@ -352,7 +351,7 @@ my_iconv_char(iconv_t cd, const u_char *
 	ir = *ilen;
 
 	bzero(*obuf, *olen);
-	ret = my_iconv(cd, (const char **)&sp, ilen, (char **)&dp, olen);
+	ret = my_iconv(cd, (char **)&sp, ilen, (char **)&dp, olen);
 	c1 = (*obuf)[0];
 	c2 = (*obuf)[1];
 
@@ -375,7 +374,7 @@ my_iconv_char(iconv_t cd, const u_char *
 	sp = ilocal;
 	dp = olocal;
 
-	if ((my_iconv(cd,(const char **)&sp, &ir, (char **)&dp, &or)) != -1) {
+	if ((my_iconv(cd,(char **)&sp, &ir, (char **)&dp, &or)) != -1) {
 		if (olocal[0] != c1)
 			return (ret);
 
@@ -429,7 +428,7 @@ my_iconv_char(iconv_t cd, const u_char *
 	sp = ilocal + 1;
 	dp = olocal;
 
-	if ((my_iconv(cd,(const char **)&sp, &ir, (char **)&dp, &or)) != -1) {
+	if ((my_iconv(cd,(char **)&sp, &ir, (char **)&dp, &or)) != -1) {
 		if (olocal[0] == c2)
 			/*
 			 * inbuf is a single byte char

Modified: head/sys/sys/param.h
==============================================================================
--- head/sys/sys/param.h	Wed Apr 15 08:16:34 2015	(r281549)
+++ head/sys/sys/param.h	Wed Apr 15 09:09:20 2015	(r281550)
@@ -58,7 +58,7 @@
  *		in the range 5 to 9.
  */
 #undef __FreeBSD_version
-#define __FreeBSD_version 1100068	/* Master, propagated to newvers */
+#define __FreeBSD_version 1100069	/* Master, propagated to newvers */
 
 /*
  * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD,

Modified: head/usr.bin/iconv/iconv.c
==============================================================================
--- head/usr.bin/iconv/iconv.c	Wed Apr 15 08:16:34 2015	(r281549)
+++ head/usr.bin/iconv/iconv.c	Wed Apr 15 09:09:20 2015	(r281550)
@@ -71,9 +71,8 @@ do_conv(FILE *fp, const char *from, cons
     bool hide_invalid)
 {
 	iconv_t cd;
-	char inbuf[INBUFSIZE], outbuf[OUTBUFSIZE], *out;
+	char inbuf[INBUFSIZE], outbuf[OUTBUFSIZE], *in, *out;
 	unsigned long long invalids;
-	const char *in;
 	size_t inbytes, outbytes, ret;
 
 	if ((cd = iconv_open(to, from)) == (iconv_t)-1)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201504150909.t3F99LFB048690>