diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | posix/fnmatch.c | 1 | ||||
-rw-r--r-- | posix/fnmatch_loop.c | 27 |
3 files changed, 20 insertions, 13 deletions
diff --git a/ChangeLog b/ChangeLog index 40b5f89972..c159faa45a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2014-06-26 Siddhesh Poyarekar <siddhesh@redhat.com> + * posix/fnmatch.c: Define WIDE_CHAR_VERSION. + * posix/fnmatch_loop.c: Undefine WIDE_CHAR_VERSION. + (FCT): Check value of WIDE_CHAR_VERSION instead of checking if + it is defined. + * elf/dl-runtime.c: Check for value of ELF_MACHINE_NO_RELA instead of whether it is defined. * sysdeps/aarch64/dl-machine.h: Define ELF_MACHINE_NO_RELA. diff --git a/posix/fnmatch.c b/posix/fnmatch.c index 4f14a8b839..ca95ab4df2 100644 --- a/posix/fnmatch.c +++ b/posix/fnmatch.c @@ -225,6 +225,7 @@ __wcschrnul (s, c) # define MEMPCPY(D, S, N) __mempcpy (D, S, N) # define MEMCHR(S, C, N) memchr (S, C, N) # define STRCOLL(S1, S2) strcoll (S1, S2) +# define WIDE_CHAR_VERSION 0 # include "fnmatch_loop.c" diff --git a/posix/fnmatch_loop.c b/posix/fnmatch_loop.c index 544769b4f6..1957397d24 100644 --- a/posix/fnmatch_loop.c +++ b/posix/fnmatch_loop.c @@ -504,7 +504,7 @@ FCT (pattern, string, string_end, no_leading_period, flags, ends, alloca_used) { int32_t table_size; const int32_t *symb_table; -# ifdef WIDE_CHAR_VERSION +# if WIDE_CHAR_VERSION char str[c1]; unsigned int strcnt; # else @@ -516,7 +516,7 @@ FCT (pattern, string, string_end, no_leading_period, flags, ends, alloca_used) int32_t second; int32_t hash; -# ifdef WIDE_CHAR_VERSION +# if WIDE_CHAR_VERSION /* We have to convert the name to a single-byte string. This is possible since the names consist of ASCII characters and the internal @@ -571,7 +571,7 @@ FCT (pattern, string, string_end, no_leading_period, flags, ends, alloca_used) { /* Compare the byte sequence but only if this is not part of a range. */ -# ifdef WIDE_CHAR_VERSION +# if WIDE_CHAR_VERSION int32_t *wextra; idx += 1 + extra[idx]; @@ -583,7 +583,7 @@ FCT (pattern, string, string_end, no_leading_period, flags, ends, alloca_used) if (! is_range) { -# ifdef WIDE_CHAR_VERSION +# if WIDE_CHAR_VERSION for (c1 = 0; (int32_t) c1 < wextra[idx]; ++c1) @@ -604,7 +604,7 @@ FCT (pattern, string, string_end, no_leading_period, flags, ends, alloca_used) /* Get the collation sequence value. */ is_seqval = 1; -# ifdef WIDE_CHAR_VERSION +# if WIDE_CHAR_VERSION cold = wextra[1 + wextra[idx]]; # else /* Adjust for the alignment. */ @@ -667,7 +667,7 @@ FCT (pattern, string, string_end, no_leading_period, flags, ends, alloca_used) uint32_t lcollseq; UCHAR cend = *p++; -# ifdef WIDE_CHAR_VERSION +# if WIDE_CHAR_VERSION /* Search in the `names' array for the characters. */ fcollseq = __collseq_table_lookup (collseq, fn); if (fcollseq == ~((uint32_t) 0)) @@ -722,7 +722,7 @@ FCT (pattern, string, string_end, no_leading_period, flags, ends, alloca_used) { int32_t table_size; const int32_t *symb_table; -# ifdef WIDE_CHAR_VERSION +# if WIDE_CHAR_VERSION char str[c1]; unsigned int strcnt; # else @@ -734,7 +734,7 @@ FCT (pattern, string, string_end, no_leading_period, flags, ends, alloca_used) int32_t second; int32_t hash; -# ifdef WIDE_CHAR_VERSION +# if WIDE_CHAR_VERSION /* We have to convert the name to a single-byte string. This is possible since the names consist of ASCII characters and the internal @@ -789,7 +789,7 @@ FCT (pattern, string, string_end, no_leading_period, flags, ends, alloca_used) { /* Compare the byte sequence but only if this is not part of a range. */ -# ifdef WIDE_CHAR_VERSION +# if WIDE_CHAR_VERSION int32_t *wextra; idx += 1 + extra[idx]; @@ -800,7 +800,7 @@ FCT (pattern, string, string_end, no_leading_period, flags, ends, alloca_used) # endif /* Get the collation sequence value. */ is_seqval = 1; -# ifdef WIDE_CHAR_VERSION +# if WIDE_CHAR_VERSION cend = wextra[1 + wextra[idx]]; # else /* Adjust for the alignment. */ @@ -832,7 +832,7 @@ FCT (pattern, string, string_end, no_leading_period, flags, ends, alloca_used) characters which are not mentioned in the collation specification. */ if ( -# ifdef WIDE_CHAR_VERSION +# if WIDE_CHAR_VERSION lcollseq == 0xffffffff || # endif lcollseq <= fcollseq) @@ -844,7 +844,7 @@ FCT (pattern, string, string_end, no_leading_period, flags, ends, alloca_used) hcollseq = cend; else { -# ifdef WIDE_CHAR_VERSION +# if WIDE_CHAR_VERSION hcollseq = __collseq_table_lookup (collseq, cend); if (hcollseq == ~((uint32_t) 0)) @@ -865,7 +865,7 @@ FCT (pattern, string, string_end, no_leading_period, flags, ends, alloca_used) if (lcollseq <= hcollseq && fcollseq <= hcollseq) goto matched; } -# ifdef WIDE_CHAR_VERSION +# if WIDE_CHAR_VERSION range_not_matched: # endif #else @@ -1276,3 +1276,4 @@ EXT (INT opt, const CHAR *pattern, const CHAR *string, const CHAR *string_end, #undef STRCAT #undef L #undef BTOWC +#undef WIDE_CHAR_VERSION |