summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--conform/conformtest.pl12
-rw-r--r--conform/data/locale.h-data8
3 files changed, 22 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 1bc16524b8..f1d8d0cbd4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2001-01-25 Ulrich Drepper <drepper@redhat.com>
+ * conform/conformtest.pl: Implement handling of recursive
+ allow-header.
+
+ * conform/data/locale.h-data: Add new struct lconv members.
+
* posix/wordexp.h: Correct definition of wordexp_t.
* posix/wordexp.c: Moved to ...
* sysdeps/generic/wordexp.c: ...here. New file.
diff --git a/conform/conformtest.pl b/conform/conformtest.pl
index 810d2632be..e2c3b06b62 100644
--- a/conform/conformtest.pl
+++ b/conform/conformtest.pl
@@ -268,6 +268,7 @@ while ($#headers >= 0) {
my($missing);
my(@allow) = ();
my(@allowheader) = ();
+ my(%seenheader) = ();
my($prepend) = $mustprepend{$h};
printf ("Testing <$h>\n");
@@ -730,7 +731,10 @@ while ($#headers >= 0) {
"Macro \"$macro\" is not available.", $missing, 0);
} elsif (/^allow-header *(.*)/) {
my($pattern) = $1;
- push @allowheader, $pattern;
+ if ($seenheader{$pattern} != 1) {
+ push @allowheader, $pattern;
+ $seenheader{$pattern} = 1;
+ }
next control;
} elsif (/^allow *(.*)/) {
my($pattern) = $1;
@@ -782,8 +786,10 @@ while ($#headers >= 0) {
} elsif (/^macro *([^ ]*)/) {
push @allow, $1;
} elsif (/^allow-header *(.*)/) {
- # XXX We should have a test for recursive dependencies here.
- push @allowheader, $1;
+ if ($seenheader{$1} != 1) {
+ push @allowheader, $1;
+ $seenheader{$1} = 1;
+ }
} elsif (/^allow *(.*)/) {
push @allow, $1;
}
diff --git a/conform/data/locale.h-data b/conform/data/locale.h-data
index 724b39a778..84bd6abc09 100644
--- a/conform/data/locale.h-data
+++ b/conform/data/locale.h-data
@@ -17,6 +17,14 @@ element {struct lconv} char p_cs_precedes
element {struct lconv} char p_sep_by_space
element {struct lconv} char p_sign_posn
element {struct lconv} {char*} thousands_sep
+#ifdef XOPEN2K
+element {struct lconv} char int_n_cs_precedes
+element {struct lconv} char int_n_sep_by_space
+element {struct lconv} char int_n_sign_posn
+element {struct lconv} char int_p_cs_precedes
+element {struct lconv} char int_p_sep_by_space
+element {struct lconv} char int_p_sign_posn
+#endif
constant NULL