summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/iconv.h6
-rw-r--r--lib/libc/iconv/citrus_iconv.h2
-rw-r--r--lib/libc/iconv/citrus_iconv_local.h4
-rw-r--r--lib/libc/iconv/iconv.c4
-rw-r--r--lib/libc/locale/cXXrtomb_iconv.h3
-rw-r--r--lib/libc/locale/mbrtocXX_iconv.h3
6 files changed, 12 insertions, 10 deletions
diff --git a/include/iconv.h b/include/iconv.h
index eecb2fd..7b628af 100644
--- a/include/iconv.h
+++ b/include/iconv.h
@@ -43,7 +43,7 @@
#define iconv_open libiconv_open
#define iconv_close libiconv_close
-#define iconv(cd, in, insize, out, outsize) libiconv(cd, __DECONST(char **, in), insize, out, outsize)
+#define iconv libiconv
#define iconv_t libiconv_t
struct __tag_iconv_t;
@@ -51,7 +51,7 @@ typedef struct __tag_iconv_t *iconv_t;
__BEGIN_DECLS
iconv_t libiconv_open(const char *, const char *);
-size_t libiconv(iconv_t, char ** __restrict,
+size_t libiconv(iconv_t, const char ** __restrict,
size_t * __restrict, char ** __restrict,
size_t * __restrict);
int libiconv_close(iconv_t);
@@ -60,7 +60,7 @@ int libiconv_close(iconv_t);
*/
int __iconv_get_list(char ***, size_t *, bool);
void __iconv_free_list(char **, size_t);
-size_t __iconv(iconv_t, char **, size_t *, char **,
+size_t __iconv(iconv_t, const char **, size_t *, char **,
size_t *, __uint32_t, size_t *);
#define __ICONV_F_HIDE_INVALID 0x0001
diff --git a/lib/libc/iconv/citrus_iconv.h b/lib/libc/iconv/citrus_iconv.h
index 99604e9..ac14ac3 100644
--- a/lib/libc/iconv/citrus_iconv.h
+++ b/lib/libc/iconv/citrus_iconv.h
@@ -52,7 +52,7 @@ __END_DECLS
*/
static __inline int
_citrus_iconv_convert(struct _citrus_iconv * __restrict cv,
- char * __restrict * __restrict in, size_t * __restrict inbytes,
+ const char * __restrict * __restrict in, size_t * __restrict inbytes,
char * __restrict * __restrict out, size_t * __restrict outbytes,
uint32_t flags, size_t * __restrict nresults)
{
diff --git a/lib/libc/iconv/citrus_iconv_local.h b/lib/libc/iconv/citrus_iconv_local.h
index 081a708..52ac825 100644
--- a/lib/libc/iconv/citrus_iconv_local.h
+++ b/lib/libc/iconv/citrus_iconv_local.h
@@ -45,7 +45,7 @@ static void _citrus_##_m_##_iconv_uninit_shared \
(struct _citrus_iconv_shared *); \
static int _citrus_##_m_##_iconv_convert \
(struct _citrus_iconv * __restrict, \
- char * __restrict * __restrict, \
+ const char * __restrict * __restrict, \
size_t * __restrict, \
char * __restrict * __restrict, \
size_t * __restrict outbytes, \
@@ -74,7 +74,7 @@ typedef void (*_citrus_iconv_uninit_shared_t)
(struct _citrus_iconv_shared *);
typedef int (*_citrus_iconv_convert_t)
(struct _citrus_iconv * __restrict,
- char *__restrict* __restrict, size_t * __restrict,
+ const 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 *);
diff --git a/lib/libc/iconv/iconv.c b/lib/libc/iconv/iconv.c
index c78a615..9b28ff6 100644
--- a/lib/libc/iconv/iconv.c
+++ b/lib/libc/iconv/iconv.c
@@ -130,7 +130,7 @@ libiconv_close(iconv_t handle)
}
size_t
-libiconv(iconv_t handle, char **in, size_t *szin, char **out, size_t *szout)
+libiconv(iconv_t handle, const char **in, size_t *szin, char **out, size_t *szout)
{
size_t ret;
int err;
@@ -151,7 +151,7 @@ libiconv(iconv_t handle, char **in, size_t *szin, char **out, size_t *szout)
}
size_t
-__iconv(iconv_t handle, char **in, size_t *szin, char **out,
+__iconv(iconv_t handle, const char **in, size_t *szin, char **out,
size_t *szout, uint32_t flags, size_t *invalids)
{
size_t ret;
diff --git a/lib/libc/locale/cXXrtomb_iconv.h b/lib/libc/locale/cXXrtomb_iconv.h
index d6e7ce0..0ea553b 100644
--- a/lib/libc/locale/cXXrtomb_iconv.h
+++ b/lib/libc/locale/cXXrtomb_iconv.h
@@ -57,7 +57,8 @@ cXXrtomb_l(char * __restrict s, charXX_t c, mbstate_t * __restrict ps,
{
_ConversionState *cs;
struct _citrus_iconv *handle;
- char *src, *dst;
+ const char *src;
+ char *dst;
size_t srcleft, dstleft, invlen;
int err;
diff --git a/lib/libc/locale/mbrtocXX_iconv.h b/lib/libc/locale/mbrtocXX_iconv.h
index 9eb6f68..ac85a5a 100644
--- a/lib/libc/locale/mbrtocXX_iconv.h
+++ b/lib/libc/locale/mbrtocXX_iconv.h
@@ -99,7 +99,8 @@ mbrtocXX_l(charXX_t * __restrict pc, const char * __restrict s, size_t n,
/* Convert as few characters to the dst buffer as possible. */
for (i = 0; ; i++) {
- char *src, *dst;
+ const char *src;
+ char *dst;
size_t srcleft, dstleft, invlen;
int err;
OpenPOWER on IntegriCloud