View | Details | Raw Unified | Return to bug 199099 | Differences between
and this patch

Collapse All | Expand All

(-)include/iconv.h (-2 / +2 lines)
Lines 53-59 typedef struct __tag_iconv_t *iconv_t; Link Here
53
53
54
__BEGIN_DECLS
54
__BEGIN_DECLS
55
iconv_t	iconv_open(const char *, const char *);
55
iconv_t	iconv_open(const char *, const char *);
56
size_t	iconv(iconv_t, const char ** __restrict,
56
size_t	iconv(iconv_t, char ** __restrict,
57
	      size_t * __restrict, char ** __restrict,
57
	      size_t * __restrict, char ** __restrict,
58
	      size_t * __restrict);
58
	      size_t * __restrict);
59
int	iconv_close(iconv_t);
59
int	iconv_close(iconv_t);
Lines 62-68 int iconv_close(iconv_t); Link Here
62
 */
62
 */
63
int	__iconv_get_list(char ***, size_t *, __iconv_bool);
63
int	__iconv_get_list(char ***, size_t *, __iconv_bool);
64
void	__iconv_free_list(char **, size_t);
64
void	__iconv_free_list(char **, size_t);
65
size_t	__iconv(iconv_t, const char **, size_t *, char **,
65
size_t	__iconv(iconv_t, char **, size_t *, char **,
66
		     size_t *, __uint32_t, size_t *);
66
		     size_t *, __uint32_t, size_t *);
67
#define __ICONV_F_HIDE_INVALID	0x0001
67
#define __ICONV_F_HIDE_INVALID	0x0001
68
68
(-)lib/libiconv_modules/iconv_none/citrus_iconv_none.c (-1 / +1 lines)
Lines 97-103 _citrus_iconv_none_iconv_uninit_context( Link Here
97
static int
97
static int
98
/*ARGSUSED*/
98
/*ARGSUSED*/
99
_citrus_iconv_none_iconv_convert(struct _citrus_iconv * __restrict ci __unused,
99
_citrus_iconv_none_iconv_convert(struct _citrus_iconv * __restrict ci __unused,
100
    const char * __restrict * __restrict in, size_t * __restrict inbytes,
100
    char * __restrict * __restrict in, size_t * __restrict inbytes,
101
    char * __restrict * __restrict out, size_t * __restrict outbytes,
101
    char * __restrict * __restrict out, size_t * __restrict outbytes,
102
    uint32_t flags __unused, size_t * __restrict invalids)
102
    uint32_t flags __unused, size_t * __restrict invalids)
103
{
103
{
(-)lib/libiconv_modules/iconv_std/citrus_iconv_std.c (-1 / +1 lines)
Lines 461-467 _citrus_iconv_std_iconv_uninit_context(s Link Here
461
461
462
static int
462
static int
463
_citrus_iconv_std_iconv_convert(struct _citrus_iconv * __restrict cv,
463
_citrus_iconv_std_iconv_convert(struct _citrus_iconv * __restrict cv,
464
    const char * __restrict * __restrict in, size_t * __restrict inbytes,
464
    char * __restrict * __restrict in, size_t * __restrict inbytes,
465
    char * __restrict * __restrict out, size_t * __restrict outbytes,
465
    char * __restrict * __restrict out, size_t * __restrict outbytes,
466
    uint32_t flags, size_t * __restrict invalids)
466
    uint32_t flags, size_t * __restrict invalids)
467
{
467
{
(-)lib/libc/iconv/__iconv.c (-1 / +1 lines)
Lines 31-37 Link Here
31
#include "iconv-internal.h"
31
#include "iconv-internal.h"
32
32
33
size_t
33
size_t
34
__iconv(iconv_t a, const char **b, size_t *c, char **d,
34
__iconv(iconv_t a, char **b, size_t *c, char **d,
35
     size_t *e, __uint32_t f, size_t *g)
35
     size_t *e, __uint32_t f, size_t *g)
36
{
36
{
37
	return __bsd___iconv(a, b, c, d, e, f, g);
37
	return __bsd___iconv(a, b, c, d, e, f, g);
(-)lib/libc/iconv/bsd_iconv.c (-2 / +2 lines)
Lines 120-126 __bsd_iconv_close(iconv_t handle) Link Here
120
}
120
}
121
121
122
size_t
122
size_t
123
__bsd_iconv(iconv_t handle, const char **in, size_t *szin, char **out, size_t *szout)
123
__bsd_iconv(iconv_t handle, char **in, size_t *szin, char **out, size_t *szout)
124
{
124
{
125
	size_t ret;
125
	size_t ret;
126
	int err;
126
	int err;
Lines 141-147 __bsd_iconv(iconv_t handle, const char * Link Here
141
}
141
}
142
142
143
size_t
143
size_t
144
__bsd___iconv(iconv_t handle, const char **in, size_t *szin, char **out,
144
__bsd___iconv(iconv_t handle, char **in, size_t *szin, char **out,
145
    size_t *szout, uint32_t flags, size_t *invalids)
145
    size_t *szout, uint32_t flags, size_t *invalids)
146
{
146
{
147
	size_t ret;
147
	size_t ret;
(-)lib/libc/iconv/citrus_iconv.h (-1 / +1 lines)
Lines 52-58 __END_DECLS Link Here
52
 */
52
 */
53
static __inline int
53
static __inline int
54
_citrus_iconv_convert(struct _citrus_iconv * __restrict cv,
54
_citrus_iconv_convert(struct _citrus_iconv * __restrict cv,
55
    const char * __restrict * __restrict in, size_t * __restrict inbytes,
55
    char * __restrict * __restrict in, size_t * __restrict inbytes,
56
    char * __restrict * __restrict out, size_t * __restrict outbytes,
56
    char * __restrict * __restrict out, size_t * __restrict outbytes,
57
    uint32_t flags, size_t * __restrict nresults)
57
    uint32_t flags, size_t * __restrict nresults)
58
{
58
{
(-)lib/libc/iconv/citrus_iconv_local.h (-2 / +2 lines)
Lines 46-52 static void _citrus_##_m_##_iconv_unini Link Here
46
		    (struct _citrus_iconv_shared *);			\
46
		    (struct _citrus_iconv_shared *);			\
47
static int	 _citrus_##_m_##_iconv_convert				\
47
static int	 _citrus_##_m_##_iconv_convert				\
48
		    (struct _citrus_iconv * __restrict,			\
48
		    (struct _citrus_iconv * __restrict,			\
49
		    const char * __restrict * __restrict,		\
49
		    char * __restrict * __restrict,			\
50
		    size_t * __restrict,				\
50
		    size_t * __restrict,				\
51
		    char * __restrict * __restrict,			\
51
		    char * __restrict * __restrict,			\
52
		    size_t * __restrict outbytes,			\
52
		    size_t * __restrict outbytes,			\
Lines 75-81 typedef void (*_citrus_iconv_uninit_shar Link Here
75
    (struct _citrus_iconv_shared *);
75
    (struct _citrus_iconv_shared *);
76
typedef int (*_citrus_iconv_convert_t)
76
typedef int (*_citrus_iconv_convert_t)
77
    (struct _citrus_iconv * __restrict,
77
    (struct _citrus_iconv * __restrict,
78
    const char *__restrict* __restrict, size_t * __restrict,
78
    char *__restrict* __restrict, size_t * __restrict,
79
    char * __restrict * __restrict, size_t * __restrict, uint32_t,
79
    char * __restrict * __restrict, size_t * __restrict, uint32_t,
80
    size_t * __restrict);
80
    size_t * __restrict);
81
typedef int (*_citrus_iconv_init_context_t)(struct _citrus_iconv *);
81
typedef int (*_citrus_iconv_init_context_t)(struct _citrus_iconv *);
(-)lib/libc/iconv/iconv-internal.h (-2 / +2 lines)
Lines 29-39 Link Here
29
/*
29
/*
30
 * Interal prototypes for our back-end functions.
30
 * Interal prototypes for our back-end functions.
31
 */
31
 */
32
size_t	__bsd___iconv(iconv_t, const char **, size_t *, char **,
32
size_t	__bsd___iconv(iconv_t, char **, size_t *, char **,
33
		size_t *, __uint32_t, size_t *);
33
		size_t *, __uint32_t, size_t *);
34
void	__bsd___iconv_free_list(char **, size_t);
34
void	__bsd___iconv_free_list(char **, size_t);
35
int	__bsd___iconv_get_list(char ***, size_t *, __iconv_bool);
35
int	__bsd___iconv_get_list(char ***, size_t *, __iconv_bool);
36
size_t	__bsd_iconv(iconv_t, const char ** __restrict,
36
size_t	__bsd_iconv(iconv_t, char ** __restrict,
37
		    size_t * __restrict, char ** __restrict,
37
		    size_t * __restrict, char ** __restrict,
38
		    size_t * __restrict);
38
		    size_t * __restrict);
39
const char *__bsd_iconv_canonicalize(const char *);
39
const char *__bsd_iconv_canonicalize(const char *);
(-)lib/libc/iconv/iconv.3 (-1 / +1 lines)
Lines 48-54 Link Here
48
.Ft size_t
48
.Ft size_t
49
.Fn iconv "iconv_t cd" "char ** restrict src" "size_t * restrict srcleft" "char ** restrict dst" "size_t * restrict dstleft"
49
.Fn iconv "iconv_t cd" "char ** restrict src" "size_t * restrict srcleft" "char ** restrict dst" "size_t * restrict dstleft"
50
.Ft size_t
50
.Ft size_t
51
.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"
51
.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"
52
.Sh DESCRIPTION
52
.Sh DESCRIPTION
53
The
53
The
54
.Fn iconv_open
54
.Fn iconv_open
(-)lib/libc/iconv/iconv.c (-1 / +1 lines)
Lines 31-37 Link Here
31
#include "iconv-internal.h"
31
#include "iconv-internal.h"
32
32
33
size_t
33
size_t
34
iconv(iconv_t a, const char ** __restrict b,
34
iconv(iconv_t a, char ** __restrict b,
35
      size_t * __restrict c, char ** __restrict d,
35
      size_t * __restrict c, char ** __restrict d,
36
      size_t * __restrict e)
36
      size_t * __restrict e)
37
{
37
{
(-)lib/libc/iconv/iconv_compat.c (-1 / +1 lines)
Lines 37-43 Link Here
37
#include "iconv-internal.h"
37
#include "iconv-internal.h"
38
38
39
size_t
39
size_t
40
__iconv_compat(iconv_t a, const char ** b, size_t * c, char ** d,
40
__iconv_compat(iconv_t a, char ** b, size_t * c, char ** d,
41
     size_t * e, __uint32_t f, size_t *g)
41
     size_t * e, __uint32_t f, size_t *g)
42
{
42
{
43
	return __bsd___iconv(a, b, c, d, e, f, g);
43
	return __bsd___iconv(a, b, c, d, e, f, g);
(-)usr.bin/iconv/iconv.c (-2 / +1 lines)
Lines 71-79 do_conv(FILE *fp, const char *from, cons Link Here
71
    bool hide_invalid)
71
    bool hide_invalid)
72
{
72
{
73
	iconv_t cd;
73
	iconv_t cd;
74
	char inbuf[INBUFSIZE], outbuf[OUTBUFSIZE], *out;
74
	char inbuf[INBUFSIZE], outbuf[OUTBUFSIZE], *in, *out;
75
	unsigned long long invalids;
75
	unsigned long long invalids;
76
	const char *in;
77
	size_t inbytes, outbytes, ret;
76
	size_t inbytes, outbytes, ret;
78
77
79
	if ((cd = iconv_open(to, from)) == (iconv_t)-1)
78
	if ((cd = iconv_open(to, from)) == (iconv_t)-1)

Return to bug 199099