From e8b65126450b775fa826a49e4b1464785bc036a2 Mon Sep 17 00:00:00 2001
From: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Date: Wed, 24 Sep 2008 11:57:47 +0000
Subject: - do not segfault if we end up with empty tables - silence some
 warnings while at it

---
 extra/locale/Makefile.in  |  1 +
 extra/locale/gen_wctype.c | 18 ++++++++++++++----
 2 files changed, 15 insertions(+), 4 deletions(-)

(limited to 'extra')

diff --git a/extra/locale/Makefile.in b/extra/locale/Makefile.in
index 52de0f26e..078eb6527 100644
--- a/extra/locale/Makefile.in
+++ b/extra/locale/Makefile.in
@@ -25,6 +25,7 @@ BUILD_CFLAGS-gen_ldc += -D__WCHAR_ENABLED=1
 endif
 
 BUILD_CFLAGS-gen_locale := -D_GNU_SOURCE
+BUILD_CFLAGS-gen_collate := -D_GNU_SOURCE
 
 DEPH-locale := $(top_builddir)include/bits/sysnum.h
 DEPH-gen_locale := c8tables.h
diff --git a/extra/locale/gen_wctype.c b/extra/locale/gen_wctype.c
index 085ec51b1..dca5cff0d 100644
--- a/extra/locale/gen_wctype.c
+++ b/extra/locale/gen_wctype.c
@@ -130,7 +130,7 @@ enum {
 
 #define mywalnum(x)		__CTYPE_isalnum(d)
 #define mywalpha(x)		__CTYPE_isalpha(d)
-#define mywblank(x) 	__CTYPE_isblank(d)
+#define mywblank(x)		__CTYPE_isblank(d)
 #define mywcntrl(x)		__CTYPE_iscntrl(d)
 #define mywdigit(x)		__CTYPE_isdigit(d)
 #define mywgraph(x)		__CTYPE_isgraph(d)
@@ -231,10 +231,11 @@ int main(int argc, char **argv)
 	uldiff_entry uldiff[MAXTO];
 	table_data cttable;
 	table_data ultable;
+#if 0
 	table_data combtable;
 	table_data widthtable;
 	long int last_comb = 0;
-
+#endif
 	unsigned char wct[(RANGE/2)+1];	/* wctype table (nibble per wchar) */
 	unsigned char ult[RANGE+1];	/* upper/lower table */
 	unsigned char combt[(RANGE/4)+1];	/* combining */
@@ -269,6 +270,12 @@ int main(int argc, char **argv)
 	INIT_TYPENAME(cntrl_space_blank);
 	INIT_TYPENAME(cntrl_nonspace);
 
+	memset(&cttable, 0, sizeof(table_data));
+	memset(&ultable, 0, sizeof(table_data));
+#if 0
+	memset(combtable, 0, sizeof table_data);
+	memset(widthtable, 0, sizeof table_data);
+#endif
 	setvbuf(stdout, NULL, _IONBF, 0);
 
 	while (--argc) {
@@ -594,7 +601,9 @@ int main(int argc, char **argv)
 
 		dump_table_data(&cttable);
 		dump_table_data(&ultable);
+#if 0
 		dump_table_data(&combtable);
+#endif
 		}
 
 		printf("verifying for %s...\n", *argv);
@@ -756,8 +765,8 @@ int main(int argc, char **argv)
 		fprintf(fp, "#endif /* WANT_WCuplow_diff_data */\n\n");
 
 
-/* 		output_table(fp, "comb", &combtable); */
-/* 		output_table(fp, "width", &widthtable); */
+/*		output_table(fp, "comb", &combtable); */
+/*		output_table(fp, "width", &widthtable); */
 
 		fclose(fp);
 	}
@@ -874,3 +883,4 @@ size_t newopt(unsigned char *ut, size_t usize, int shift, table_data *tbl)
 	}
 	return smallest;
 }
+/* vi: set sw=4 ts=4: */
-- 
cgit v1.2.3