175 lines
		
	
	
	
		
			5.7 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			175 lines
		
	
	
	
		
			5.7 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| Index: lib/libc/iconv/citrus_prop.c
 | |
| ===================================================================
 | |
| --- lib/libc/iconv/citrus_prop.c	(revision 267591)
 | |
| +++ lib/libc/iconv/citrus_prop.c	(working copy)
 | |
| @@ -339,7 +339,7 @@ name_found:
 | |
|  
 | |
|  static int
 | |
|  _citrus_prop_parse_element(struct _memstream * __restrict ms,
 | |
| -    const _citrus_prop_hint_t * __restrict hints, void ** __restrict context)
 | |
| +    const _citrus_prop_hint_t * __restrict hints, void * __restrict context)
 | |
|  {
 | |
|  	int ch, errnum;
 | |
|  #define _CITRUS_PROP_HINT_NAME_LEN_MAX	255
 | |
| @@ -435,8 +435,7 @@ _citrus_prop_parse_variable(const _citrus_prop_hin
 | |
|  		if (ch == EOF || ch == '\0')
 | |
|  			break;
 | |
|  		_memstream_ungetc(&ms, ch);
 | |
| -		errnum = _citrus_prop_parse_element(
 | |
| -		    &ms, hints, (void ** __restrict)context);
 | |
| +		errnum = _citrus_prop_parse_element(&ms, hints, context);
 | |
|  		if (errnum != 0)
 | |
|  			return (errnum);
 | |
|  	}
 | |
| Index: lib/libc/iconv/citrus_prop.h
 | |
| ===================================================================
 | |
| --- lib/libc/iconv/citrus_prop.h	(revision 267591)
 | |
| +++ lib/libc/iconv/citrus_prop.h	(working copy)
 | |
| @@ -42,7 +42,7 @@ typedef struct _citrus_prop_hint_t _citrus_prop_hi
 | |
|  
 | |
|  #define _CITRUS_PROP_CB0_T(_func_, _type_) \
 | |
|  typedef int (*_citrus_prop_##_func_##_cb_func_t) \
 | |
| -    (void ** __restrict, const char *, _type_); \
 | |
| +    (void * __restrict, const char *, _type_); \
 | |
|  typedef struct { \
 | |
|  	_citrus_prop_##_func_##_cb_func_t func; \
 | |
|  } _citrus_prop_##_func_##_cb_t;
 | |
| @@ -52,7 +52,7 @@ _CITRUS_PROP_CB0_T(str, const char *)
 | |
|  
 | |
|  #define _CITRUS_PROP_CB1_T(_func_, _type_) \
 | |
|  typedef int (*_citrus_prop_##_func_##_cb_func_t) \
 | |
| -    (void ** __restrict, const char *, _type_, _type_); \
 | |
| +    (void * __restrict, const char *, _type_, _type_); \
 | |
|  typedef struct { \
 | |
|  	_citrus_prop_##_func_##_cb_func_t func; \
 | |
|  } _citrus_prop_##_func_##_cb_t;
 | |
| Index: lib/libiconv_modules/BIG5/citrus_big5.c
 | |
| ===================================================================
 | |
| --- lib/libiconv_modules/BIG5/citrus_big5.c	(revision 267591)
 | |
| +++ lib/libiconv_modules/BIG5/citrus_big5.c	(working copy)
 | |
| @@ -170,7 +170,7 @@ _citrus_BIG5_check_excludes(_BIG5EncodingInfo *ei,
 | |
|  }
 | |
|  
 | |
|  static int
 | |
| -_citrus_BIG5_fill_rowcol(void ** __restrict ctx, const char * __restrict s,
 | |
| +_citrus_BIG5_fill_rowcol(void * __restrict ctx, const char * __restrict s,
 | |
|      uint64_t start, uint64_t end)
 | |
|  {
 | |
|  	_BIG5EncodingInfo *ei;
 | |
| @@ -189,7 +189,7 @@ static int
 | |
|  
 | |
|  static int
 | |
|  /*ARGSUSED*/
 | |
| -_citrus_BIG5_fill_excludes(void ** __restrict ctx,
 | |
| +_citrus_BIG5_fill_excludes(void * __restrict ctx,
 | |
|      const char * __restrict s __unused, uint64_t start, uint64_t end)
 | |
|  {
 | |
|  	_BIG5EncodingInfo *ei;
 | |
| @@ -235,7 +235,6 @@ static int
 | |
|  _citrus_BIG5_encoding_module_init(_BIG5EncodingInfo * __restrict ei,
 | |
|      const void * __restrict var, size_t lenvar)
 | |
|  {
 | |
| -	void *ctx = (void *)ei;
 | |
|  	const char *s;
 | |
|  	int err;
 | |
|  
 | |
| @@ -257,9 +256,9 @@ _citrus_BIG5_encoding_module_init(_BIG5EncodingInf
 | |
|  	}
 | |
|  
 | |
|  	/* fallback Big5-1984, for backward compatibility. */
 | |
| -	_citrus_BIG5_fill_rowcol((void **)&ctx, "row", 0xA1, 0xFE);
 | |
| -	_citrus_BIG5_fill_rowcol((void **)&ctx, "col", 0x40, 0x7E);
 | |
| -	_citrus_BIG5_fill_rowcol((void **)&ctx, "col", 0xA1, 0xFE);
 | |
| +	_citrus_BIG5_fill_rowcol(ei, "row", 0xA1, 0xFE);
 | |
| +	_citrus_BIG5_fill_rowcol(ei, "col", 0x40, 0x7E);
 | |
| +	_citrus_BIG5_fill_rowcol(ei, "col", 0xA1, 0xFE);
 | |
|  
 | |
|  	return (0);
 | |
|  }
 | |
| Index: lib/libiconv_modules/HZ/citrus_hz.c
 | |
| ===================================================================
 | |
| --- lib/libiconv_modules/HZ/citrus_hz.c	(revision 267591)
 | |
| +++ lib/libiconv_modules/HZ/citrus_hz.c	(working copy)
 | |
| @@ -65,8 +65,8 @@ typedef enum {
 | |
|  } charset_t;
 | |
|  
 | |
|  typedef struct {
 | |
| +	int	 start;
 | |
|  	int	 end;
 | |
| -	int	 start;
 | |
|  	int	 width;
 | |
|  } range_t;
 | |
|  
 | |
| @@ -503,12 +503,12 @@ _citrus_HZ_encoding_module_uninit(_HZEncodingInfo
 | |
|  }
 | |
|  
 | |
|  static int
 | |
| -_citrus_HZ_parse_char(void **context, const char *name __unused, const char *s)
 | |
| +_citrus_HZ_parse_char(void *context, const char *name __unused, const char *s)
 | |
|  {
 | |
|  	escape_t *escape;
 | |
|  	void **p;
 | |
|  
 | |
| -	p = (void **)*context;
 | |
| +	p = (void **)context;
 | |
|  	escape = (escape_t *)p[0];
 | |
|  	if (escape->ch != '\0')
 | |
|  		return (EINVAL);
 | |
| @@ -520,7 +520,7 @@ static int
 | |
|  }
 | |
|  
 | |
|  static int
 | |
| -_citrus_HZ_parse_graphic(void **context, const char *name, const char *s)
 | |
| +_citrus_HZ_parse_graphic(void *context, const char *name, const char *s)
 | |
|  {
 | |
|  	_HZEncodingInfo *ei;
 | |
|  	escape_t *escape;
 | |
| @@ -527,7 +527,7 @@ static int
 | |
|  	graphic_t *graphic;
 | |
|  	void **p;
 | |
|  
 | |
| -	p = (void **)*context;
 | |
| +	p = (void **)context;
 | |
|  	escape = (escape_t *)p[0];
 | |
|  	ei = (_HZEncodingInfo *)p[1];
 | |
|  	graphic = malloc(sizeof(*graphic));
 | |
| @@ -589,13 +589,13 @@ _CITRUS_PROP_HINT_END
 | |
|  };
 | |
|  
 | |
|  static int
 | |
| -_citrus_HZ_parse_escape(void **context, const char *name, const char *s)
 | |
| +_citrus_HZ_parse_escape(void *context, const char *name, const char *s)
 | |
|  {
 | |
|  	_HZEncodingInfo *ei;
 | |
|  	escape_t *escape;
 | |
|  	void *p[2];
 | |
|  
 | |
| -	ei = (_HZEncodingInfo *)*context;
 | |
| +	ei = (_HZEncodingInfo *)context;
 | |
|  	escape = malloc(sizeof(*escape));
 | |
|  	if (escape == NULL)
 | |
|  		return (EINVAL);
 | |
| Index: lib/libiconv_modules/VIQR/citrus_viqr.c
 | |
| ===================================================================
 | |
| --- lib/libiconv_modules/VIQR/citrus_viqr.c	(revision 267591)
 | |
| +++ lib/libiconv_modules/VIQR/citrus_viqr.c	(working copy)
 | |
| @@ -431,7 +431,6 @@ static int
 | |
|  _citrus_VIQR_encoding_module_init(_VIQREncodingInfo * __restrict ei,
 | |
|      const void * __restrict var __unused, size_t lenvar __unused)
 | |
|  {
 | |
| -	const mnemonic_def_t *p;
 | |
|  	const char *s;
 | |
|  	size_t i, n;
 | |
|  	int errnum;
 | |
| @@ -455,7 +454,10 @@ _citrus_VIQR_encoding_module_init(_VIQREncodingInf
 | |
|  			return (errnum);
 | |
|  		}
 | |
|  	}
 | |
| -	for (i = 0;; ++i) {
 | |
| +	/* a + 1 < b + 1 here to silence gcc warning about unsigned < 0. */
 | |
| +	for (i = 0; i + 1 < mnemonic_ext_size + 1; ++i) {
 | |
| +		const mnemonic_def_t *p;
 | |
| +
 | |
|  		p = &mnemonic_ext[i];
 | |
|  		n = strlen(p->name);
 | |
|  		if (ei->mb_cur_max < n)
 |