Fix Wundef warning for WIDE_CHAR_VERSION
authorSiddhesh Poyarekar <siddhesh@redhat.com>
Thu, 26 Jun 2014 15:10:46 +0000 (20:40 +0530)
committerSiddhesh Poyarekar <siddhesh@redhat.com>
Thu, 26 Jun 2014 17:00:45 +0000 (22:30 +0530)
fnmatch.c defines WIDE_CHAR_VERSION as 1 for wide chars, but does not
define it for the non-wide char bits.  Define it and also undef it in
fnmatch_loop.c like all other macros.

ChangeLog
posix/fnmatch.c
posix/fnmatch_loop.c

index 40b5f89..c159faa 100644 (file)
--- 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.
index 4f14a8b..ca95ab4 100644 (file)
@@ -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"
 
 
index 544769b..1957397 100644 (file)
@@ -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