summaryrefslogtreecommitdiffstats
path: root/lib/libc/iconv/citrus_mapper.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_mapper.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_mapper.c')
-rw-r--r--lib/libc/iconv/citrus_mapper.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/libc/iconv/citrus_mapper.c b/lib/libc/iconv/citrus_mapper.c
index 43fa4b0..ea65ae9 100644
--- a/lib/libc/iconv/citrus_mapper.c
+++ b/lib/libc/iconv/citrus_mapper.c
@@ -1,5 +1,5 @@
/* $FreeBSD$ */
-/* $NetBSD: citrus_mapper.c,v 1.7 2008/07/25 14:05:25 christos Exp $ */
+/* $NetBSD: citrus_mapper.c,v 1.10 2012/06/08 07:49:42 martin Exp $ */
/*-
* Copyright (c)2003 Citrus Project,
@@ -244,8 +244,10 @@ mapper_open(struct _citrus_mapper_area *__restrict ma,
if (!cm->cm_ops->mo_init ||
!cm->cm_ops->mo_uninit ||
!cm->cm_ops->mo_convert ||
- !cm->cm_ops->mo_init_state)
+ !cm->cm_ops->mo_init_state) {
+ ret = EINVAL;
goto err;
+ }
/* allocate traits structure */
cm->cm_traits = malloc(sizeof(*cm->cm_traits));
OpenPOWER on IntegriCloud