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)

Reply via email to