Module Name: src Committed By: perseant Date: Mon Jul 31 04:23:35 UTC 2017
Modified Files: src/lib/libc/citrus [perseant-stdc-iso10646]: citrus_ctype.h citrus_ctype_template.h src/lib/libc/citrus/modules [perseant-stdc-iso10646]: citrus_big5.c citrus_euc.c citrus_iso2022.c citrus_mskanji.c Log Message: Make the compilation conditional on __STDC_ISO_10646__, so that applications that need one of the East Asian locales but don't want __STDC_ISO_10646__ don't have to pay the penalty for it. To generate a diff of this commit: cvs rdiff -u -r1.3.22.1 -r1.3.22.2 src/lib/libc/citrus/citrus_ctype.h cvs rdiff -u -r1.36.22.1 -r1.36.22.2 \ src/lib/libc/citrus/citrus_ctype_template.h cvs rdiff -u -r1.15.18.2 -r1.15.18.3 \ src/lib/libc/citrus/modules/citrus_big5.c cvs rdiff -u -r1.17.20.2 -r1.17.20.3 src/lib/libc/citrus/modules/citrus_euc.c cvs rdiff -u -r1.23.22.2 -r1.23.22.3 \ src/lib/libc/citrus/modules/citrus_iso2022.c cvs rdiff -u -r1.14.22.2 -r1.14.22.3 \ src/lib/libc/citrus/modules/citrus_mskanji.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/lib/libc/citrus/citrus_ctype.h diff -u src/lib/libc/citrus/citrus_ctype.h:1.3.22.1 src/lib/libc/citrus/citrus_ctype.h:1.3.22.2 --- src/lib/libc/citrus/citrus_ctype.h:1.3.22.1 Fri Jul 21 20:22:29 2017 +++ src/lib/libc/citrus/citrus_ctype.h Mon Jul 31 04:23:35 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: citrus_ctype.h,v 1.3.22.1 2017/07/21 20:22:29 perseant Exp $ */ +/* $NetBSD: citrus_ctype.h,v 1.3.22.2 2017/07/31 04:23:35 perseant Exp $ */ /*- * Copyright (c)2002 Citrus Project, @@ -30,6 +30,7 @@ #ifndef _CITRUS_CTYPE_H_ #define _CITRUS_CTYPE_H_ +#include <wchar.h> /* For __STDC_ISO_10646__ */ #include "citrus_ctype_local.h" typedef struct _citrus_ctype_rec *_citrus_ctype_t; @@ -185,6 +186,7 @@ _citrus_ctype_wctob(_citrus_ctype_t cc, return (*cc->cc_ops->co_wctob)(cc, c, cresult); } +#ifdef __STDC_ISO_10646__ static __inline int _citrus_ctype_ucs2kt(_citrus_ctype_t cc, wchar_kuten_t * __restrict ktp, @@ -202,6 +204,11 @@ _citrus_ctype_kt2ucs(_citrus_ctype_t cc, _DIAGASSERT(cc && cc->cc_ops && cc->cc_ops->co_kt2ucs); return (*cc->cc_ops->co_kt2ucs)(cc->cc_closure, up, kt); } +#else +/* Define away the calls to these functions */ +#define _citrus_ctype_ucs2kt(cl, ktp, wc) do {} while (0) +#define _citrus_ctype_kt2ucs(cl, up, kt) do {} while (0) +#endif extern _citrus_ctype_rec_t _citrus_ctype_default; Index: src/lib/libc/citrus/citrus_ctype_template.h diff -u src/lib/libc/citrus/citrus_ctype_template.h:1.36.22.1 src/lib/libc/citrus/citrus_ctype_template.h:1.36.22.2 --- src/lib/libc/citrus/citrus_ctype_template.h:1.36.22.1 Fri Jul 21 20:22:29 2017 +++ src/lib/libc/citrus/citrus_ctype_template.h Mon Jul 31 04:23:35 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: citrus_ctype_template.h,v 1.36.22.1 2017/07/21 20:22:29 perseant Exp $ */ +/* $NetBSD: citrus_ctype_template.h,v 1.36.22.2 2017/07/31 04:23:35 perseant Exp $ */ /*- * Copyright (c)2002 Citrus Project, @@ -118,6 +118,7 @@ * */ +#include <wchar.h> /* For __STDC_ISO_10646__ */ /* prototypes */ @@ -938,6 +939,7 @@ _FUNCNAME(ctype_wctob)(_citrus_ctype_rec return 0; } +#ifdef __STDC_ISO_10646__ static __inline int /*ARGSUSED*/ _FUNCNAME(ctype_ucs2kt)(void * __restrict cl, @@ -953,4 +955,8 @@ _FUNCNAME(ctype_kt2ucs)(void * __restric { return _FUNCNAME(kt2ucs)(_CEI_TO_EI(_TO_CEI(cl)), up, kt); } - +#else +/* Define away the calls to these functions */ +#define _FUNCNAME(ctype_ucs2kt)(cl, ktp, wc) do {} while (0) +#define _FUNCNAME(ctype_kt2ucs)(cl, up, kt) do {} while (0) +#endif Index: src/lib/libc/citrus/modules/citrus_big5.c diff -u src/lib/libc/citrus/modules/citrus_big5.c:1.15.18.2 src/lib/libc/citrus/modules/citrus_big5.c:1.15.18.3 --- src/lib/libc/citrus/modules/citrus_big5.c:1.15.18.2 Fri Jul 21 20:22:29 2017 +++ src/lib/libc/citrus/modules/citrus_big5.c Mon Jul 31 04:23:35 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: citrus_big5.c,v 1.15.18.2 2017/07/21 20:22:29 perseant Exp $ */ +/* $NetBSD: citrus_big5.c,v 1.15.18.3 2017/07/31 04:23:35 perseant Exp $ */ /*- * Copyright (c)2002, 2006 Citrus Project, @@ -60,7 +60,7 @@ #include <sys/cdefs.h> #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: citrus_big5.c,v 1.15.18.2 2017/07/21 20:22:29 perseant Exp $"); +__RCSID("$NetBSD: citrus_big5.c,v 1.15.18.3 2017/07/31 04:23:35 perseant Exp $"); #endif /* LIBC_SCCS and not lint */ #include <sys/queue.h> @@ -134,6 +134,7 @@ typedef struct { #define _ENCODING_IS_STATE_DEPENDENT 0 #define _STATE_NEEDS_EXPLICIT_INIT(_ps_) 0 +#ifdef __STDC_ISO_10646__ #include "citrus_big5_data.h" static __inline int @@ -188,6 +189,9 @@ _FUNCNAME(kt2ucs)(_ENCODING_INFO * __res return 0; } +#else +#include "citrus_u2k_template.h" +#endif static __inline void /*ARGSUSED*/ Index: src/lib/libc/citrus/modules/citrus_euc.c diff -u src/lib/libc/citrus/modules/citrus_euc.c:1.17.20.2 src/lib/libc/citrus/modules/citrus_euc.c:1.17.20.3 --- src/lib/libc/citrus/modules/citrus_euc.c:1.17.20.2 Fri Jul 21 20:22:29 2017 +++ src/lib/libc/citrus/modules/citrus_euc.c Mon Jul 31 04:23:35 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: citrus_euc.c,v 1.17.20.2 2017/07/21 20:22:29 perseant Exp $ */ +/* $NetBSD: citrus_euc.c,v 1.17.20.3 2017/07/31 04:23:35 perseant Exp $ */ /*- * Copyright (c)2002 Citrus Project, @@ -60,7 +60,7 @@ #include <sys/cdefs.h> #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: citrus_euc.c,v 1.17.20.2 2017/07/21 20:22:29 perseant Exp $"); +__RCSID("$NetBSD: citrus_euc.c,v 1.17.20.3 2017/07/31 04:23:35 perseant Exp $"); #endif /* LIBC_SCCS and not lint */ #include <assert.h> @@ -129,6 +129,7 @@ typedef struct { #define _ENCODING_IS_STATE_DEPENDENT 0 #define _STATE_NEEDS_EXPLICIT_INIT(_ps_) 0 +#ifdef __STDC_ISO_10646__ #include "citrus_euc_data.h" static __inline int @@ -183,6 +184,9 @@ _FUNCNAME(kt2ucs)(_ENCODING_INFO * __res return 0; } +#else +#include "citrus_u2k_template.h" +#endif static __inline int _citrus_EUC_cs(unsigned int c) Index: src/lib/libc/citrus/modules/citrus_iso2022.c diff -u src/lib/libc/citrus/modules/citrus_iso2022.c:1.23.22.2 src/lib/libc/citrus/modules/citrus_iso2022.c:1.23.22.3 --- src/lib/libc/citrus/modules/citrus_iso2022.c:1.23.22.2 Fri Jul 21 20:22:29 2017 +++ src/lib/libc/citrus/modules/citrus_iso2022.c Mon Jul 31 04:23:35 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: citrus_iso2022.c,v 1.23.22.2 2017/07/21 20:22:29 perseant Exp $ */ +/* $NetBSD: citrus_iso2022.c,v 1.23.22.3 2017/07/31 04:23:35 perseant Exp $ */ /*- * Copyright (c)1999, 2002 Citrus Project, @@ -30,7 +30,7 @@ #include <sys/cdefs.h> #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: citrus_iso2022.c,v 1.23.22.2 2017/07/21 20:22:29 perseant Exp $"); +__RCSID("$NetBSD: citrus_iso2022.c,v 1.23.22.3 2017/07/31 04:23:35 perseant Exp $"); #endif /* LIBC_SCCS and not lint */ #include <assert.h> @@ -164,6 +164,7 @@ static __inline int isecma(__uint8_t x) static __inline int isinterm(__uint8_t x) { return (0x20 <= x && x <= 0x2f); } static __inline int isthree(__uint8_t x) { return (0x60 <= x && x <= 0x6f); } +#ifdef __STDC_ISO_10646__ #include "citrus_iso2022_data.h" static __inline int @@ -171,7 +172,6 @@ static __inline int _FUNCNAME(ucs2kt)(_ENCODING_INFO * __restrict ei, wchar_kuten_t * __restrict ktp, wchar_ucs4_t wc) { - _DIAGASSERT(ktp != NULL); /* US-ASCII are not in the list */ @@ -195,7 +195,6 @@ static __inline int _FUNCNAME(kt2ucs)(_ENCODING_INFO * __restrict ei, wchar_ucs4_t * __restrict up, wchar_kuten_t kt) { - _DIAGASSERT(up != NULL); /* US-ASCII are not in the list */ @@ -213,6 +212,9 @@ _FUNCNAME(kt2ucs)(_ENCODING_INFO * __res return 0; } +#else +#include "citrus_u2k_template.h" +#endif static __inline int getcs(const char * __restrict p, _ISO2022Charset * __restrict cs) Index: src/lib/libc/citrus/modules/citrus_mskanji.c diff -u src/lib/libc/citrus/modules/citrus_mskanji.c:1.14.22.2 src/lib/libc/citrus/modules/citrus_mskanji.c:1.14.22.3 --- src/lib/libc/citrus/modules/citrus_mskanji.c:1.14.22.2 Fri Jul 21 20:22:29 2017 +++ src/lib/libc/citrus/modules/citrus_mskanji.c Mon Jul 31 04:23:35 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: citrus_mskanji.c,v 1.14.22.2 2017/07/21 20:22:29 perseant Exp $ */ +/* $NetBSD: citrus_mskanji.c,v 1.14.22.3 2017/07/31 04:23:35 perseant Exp $ */ /*- * Copyright (c)2002 Citrus Project, @@ -62,7 +62,7 @@ #include <sys/cdefs.h> #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: citrus_mskanji.c,v 1.14.22.2 2017/07/21 20:22:29 perseant Exp $"); +__RCSID("$NetBSD: citrus_mskanji.c,v 1.14.22.3 2017/07/31 04:23:35 perseant Exp $"); #endif /* LIBC_SCCS and not lint */ #include <assert.h> @@ -126,6 +126,7 @@ typedef struct { #define _ENCODING_IS_STATE_DEPENDENT 0 #define _STATE_NEEDS_EXPLICIT_INIT(_ps_) 0 +#ifdef __STDC_ISO_10646__ #include "citrus_mskanji_data.h" static __inline int @@ -189,6 +190,9 @@ _FUNCNAME(kt2ucs)(_ENCODING_INFO * __res return 0; } +#else +#include "citrus_u2k_template.h" +#endif static int _mskanji1(int c)