I'm very pleased to announce the release of our new website and documentation using the new toolchain with Hugo and AsciiDoctor. To get more information about the new toolchain please read the FreeBSD Documentation Project Primer[1], Hugo docs[2] and AsciiDoctor docs[3]. Acknowledgment: Benedict Reuschling <bcr@> Glen Barber <gjb@> Hiroki Sato <hrs@> Li-Wen Hsu <lwhsu@> Sean Chittenden <seanc@> The FreeBSD Foundation [1] https://docs.FreeBSD.org/en/books/fdp-primer/ [2] https://gohugo.io/documentation/ [3] https://docs.asciidoctor.org/home/ Approved by: doceng, core
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)
|