diff --git a/ChangeLog b/ChangeLog index 1bc16524b8..f1d8d0cbd4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2001-01-25 Ulrich Drepper + * 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