build: tr: avoid a warning due to newer gcc's -Wenum-compare
authorJim Meyering <meyering@redhat.com>
Sun, 17 May 2009 10:47:24 +0000 (12:47 +0200)
committerJim Meyering <meyering@redhat.com>
Sun, 17 May 2009 11:59:12 +0000 (13:59 +0200)
* src/tr.c (N_CHAR_CLASSES): Remove anonymous enum definition.
(look_up_char_class): Use ARRAY_CARDINALITY, rather than N_CHAR_CLASSES.

src/tr.c

index f4b5317..e9338d4 100644 (file)
--- a/src/tr.c
+++ b/src/tr.c
@@ -1,5 +1,5 @@
 /* tr -- a filter to translate characters
-   Copyright (C) 91, 1995-2008 Free Software Foundation, Inc.
+   Copyright (C) 91, 1995-2009 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -246,7 +246,6 @@ static char const *const char_class_name[] =
   "alnum", "alpha", "blank", "cntrl", "digit", "graph",
   "lower", "print", "punct", "space", "upper", "xdigit"
 };
-enum { N_CHAR_CLASSES = sizeof char_class_name / sizeof char_class_name[0] };
 
 /* Array of boolean values.  A character `c' is a member of the
    squeeze set if and only if in_squeeze_set[c] is true.  The squeeze
@@ -547,7 +546,7 @@ look_up_char_class (char const *class_str, size_t len)
 {
   enum Char_class i;
 
-  for (i = 0; i < N_CHAR_CLASSES; i++)
+  for (i = 0; i < ARRAY_CARDINALITY (char_class_name); i++)
     if (strncmp (class_str, char_class_name[i], len) == 0
        && strlen (char_class_name[i]) == len)
       return i;