summaryrefslogtreecommitdiffstats
path: root/lib/libc/iconv/citrus_iconv.c
diff options
context:
space:
mode:
authortijl <tijl@FreeBSD.org>2014-04-15 09:49:44 +0000
committertijl <tijl@FreeBSD.org>2014-04-15 09:49:44 +0000
commit1cbbe6f2d4f3072dbd2c8607cd56bea514637d82 (patch)
treea9679901144507309a5b71a4e0ae37b76368fb52 /lib/libc/iconv/citrus_iconv.c
parente8ab551e5fb0c3b4da36ce4cd1879d73dd2cdf26 (diff)
downloadFreeBSD-src-1cbbe6f2d4f3072dbd2c8607cd56bea514637d82.zip
FreeBSD-src-1cbbe6f2d4f3072dbd2c8607cd56bea514637d82.tar.gz
MFC r263986:
- In the libiconv module for ISO 2022 restore the original order of the fields of a private struct such that variables of this type are initialised correctly. Fixes conversion from ISO 2022. Also do this in the BIG5 module to prevent similar errors in the future. - In the libiconv module for EUC-TW replace 2^cs with 1<<cs. Fixes conversion from EUC-TW. - Synchronise iconv code with NetBSD. In most cases this only updates the RCS id because the changes are already there or are NetBSD specific. + libc/iconv/citrus_csmapper.c: Add a comment. + libc/iconv/citrus_db_factory.c: Remove put16(). + libc/iconv/citrus_iconv.c: Return EINVAL on error. + libc/iconv/citrus_mapper.c: Return EINVAL on error. + libc/iconv/citrus_memstream.c: Fix type of a variable. + libc/iconv/citrus_prop.h: Sync definition of _CITRUS_PROP_HINT_END. + libc/iconv/citrus_stdenc.c: Return EINVAL on error. + libiconv_modules/mapper_std/citrus_mapper_std.c: Plug memory leak. Obtained from: NetBSD
Diffstat (limited to 'lib/libc/iconv/citrus_iconv.c')
-rw-r--r--lib/libc/iconv/citrus_iconv.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/libc/iconv/citrus_iconv.c b/lib/libc/iconv/citrus_iconv.c
index e4bd24f..df2ed73 100644
--- a/lib/libc/iconv/citrus_iconv.c
+++ b/lib/libc/iconv/citrus_iconv.c
@@ -1,5 +1,5 @@
/* $FreeBSD$ */
-/* $NetBSD: citrus_iconv.c,v 1.7 2008/07/25 14:05:25 christos Exp $ */
+/* $NetBSD: citrus_iconv.c,v 1.10 2011/11/19 18:34:21 tnozaki Exp $ */
/*-
* Copyright (c)2003 Citrus Project,
@@ -169,8 +169,10 @@ open_shared(struct _citrus_iconv_shared * __restrict * __restrict rci,
ci->ci_ops->io_uninit_shared == NULL ||
ci->ci_ops->io_init_context == NULL ||
ci->ci_ops->io_uninit_context == NULL ||
- ci->ci_ops->io_convert == NULL)
+ ci->ci_ops->io_convert == NULL) {
+ ret = EINVAL;
goto err;
+ }
/* initialize the converter */
ret = (*ci->ci_ops->io_init_shared)(ci, src, dst);
OpenPOWER on IntegriCloud