Page MenuHomeFreeBSD

D41513.id126251.diff
No OneTemporary

D41513.id126251.diff

diff --git a/lib/libc/iconv/bsd_iconv.c b/lib/libc/iconv/bsd_iconv.c
--- a/lib/libc/iconv/bsd_iconv.c
+++ b/lib/libc/iconv/bsd_iconv.c
@@ -70,8 +70,6 @@
}
handle->cv_shared->ci_discard_ilseq = strcasestr(out, "//IGNORE");
- handle->cv_shared->ci_ilseq_invalid = false;
- handle->cv_shared->ci_hooks = NULL;
return ((iconv_t)(void *)handle);
}
diff --git a/lib/libc/iconv/citrus_iconv.c b/lib/libc/iconv/citrus_iconv.c
--- a/lib/libc/iconv/citrus_iconv.c
+++ b/lib/libc/iconv/citrus_iconv.c
@@ -140,14 +140,11 @@
/* initialize iconv handle */
len_convname = strlen(convname);
- ci = malloc(sizeof(*ci) + len_convname + 1);
+ ci = calloc(1, sizeof(*ci) + len_convname + 1);
if (!ci) {
ret = errno;
goto err;
}
- ci->ci_module = NULL;
- ci->ci_ops = NULL;
- ci->ci_closure = NULL;
ci->ci_convname = (void *)&ci[1];
memcpy(ci->ci_convname, convname, len_convname + 1);
diff --git a/lib/libc/locale/cXXrtomb_iconv.h b/lib/libc/locale/cXXrtomb_iconv.h
--- a/lib/libc/locale/cXXrtomb_iconv.h
+++ b/lib/libc/locale/cXXrtomb_iconv.h
@@ -75,8 +75,6 @@
errno = EINVAL;
return (-1);
}
- handle->cv_shared->ci_discard_ilseq = true;
- handle->cv_shared->ci_hooks = NULL;
cs->srcbuf_len = 0;
cs->initialized = true;
if (s == NULL)
@@ -92,7 +90,7 @@
dst = s;
dstleft = MB_CUR_MAX_L(locale);
err = _citrus_iconv_convert(handle, &src, &srcleft, &dst, &dstleft,
- 0, &invlen);
+ _CITRUS_ICONV_F_HIDE_INVALID, &invlen);
/* Character is part of a surrogate pair. We need more input. */
if (err == EINVAL)
diff --git a/lib/libc/locale/mbrtocXX_iconv.h b/lib/libc/locale/mbrtocXX_iconv.h
--- a/lib/libc/locale/mbrtocXX_iconv.h
+++ b/lib/libc/locale/mbrtocXX_iconv.h
@@ -78,8 +78,6 @@
errno = EINVAL;
return (-1);
}
- handle->cv_shared->ci_discard_ilseq = true;
- handle->cv_shared->ci_hooks = NULL;
cs->srcbuf_len = cs->dstbuf_len = 0;
cs->initialized = true;
if (s == NULL)
@@ -110,7 +108,7 @@
assert(srcleft <= sizeof(cs->srcbuf) &&
dstleft <= sizeof(cs->dstbuf.bytes));
err = _citrus_iconv_convert(handle, &src, &srcleft,
- &dst, &dstleft, 0, &invlen);
+ &dst, &dstleft, _CITRUS_ICONV_F_HIDE_INVALID, &invlen);
cs->dstbuf_len = (dst - cs->dstbuf.bytes) / sizeof(charXX_t);
/* Got new character(s). Return the first. */

File Metadata

Mime Type
text/plain
Expires
Mon, Apr 6, 9:52 AM (10 h, 38 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
30957240
Default Alt Text
D41513.id126251.diff (2 KB)

Event Timeline