Normalize result passed back in .grouping. Fix assignment to .int_*
[kopensolaris-gnu/glibc.git] / locale / weightwc.h
index 9e5bcf7..5af88ae 100644 (file)
@@ -24,19 +24,9 @@ findidx (const wint_t **cpp)
   int_fast32_t i;
   const wint_t *cp;
   wint_t ch;
-  size_t idx;
-  size_t cnt = 0;
 
   ch = *(*cpp)++;
-  idx = ch % size;
-  while (names[idx] != ch)
-    {
-      if (++cnt == layers)
-       /* We didn't find the name.  It is case for UNDEFINED.  */
-       return 0;
-      idx += size;
-    }
-  i = table[idx];
+  i = collidx_table_lookup ((const char *) table, ch);
 
   if (i >= 0)
     /* This is an index into the weight table.  Cool.  */
@@ -51,8 +41,7 @@ findidx (const wint_t **cpp)
       const wint_t *usrc = *cpp;
 
       /* The first thing is the index.  */
-      i = cp;
-      ++cp;
+      i = *cp++;
 
       /* Next is the length of the byte sequence.  These are always
         short byte sequences so there is no reason to call any