aboutsummaryrefslogtreecommitdiff
path: root/locale/weight.h
diff options
context:
space:
mode:
Diffstat (limited to 'locale/weight.h')
-rw-r--r--locale/weight.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/locale/weight.h b/locale/weight.h
index 356ee57855..cc634c253b 100644
--- a/locale/weight.h
+++ b/locale/weight.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Written by Ulrich Drepper, <drepper@cygnus.com>.
@@ -23,6 +23,7 @@ findidx (const unsigned char **cpp)
{
int_fast32_t i = table[*(*cpp)++];
const unsigned char *cp;
+ const unsigned char *usrc;
if (i >= 0)
/* This is an index into the weight table. Cool. */
@@ -31,10 +32,10 @@ findidx (const unsigned char **cpp)
/* Oh well, more than one sequence starting with this byte.
Search for the correct one. */
cp = &extra[-i];
+ usrc = *cpp;
while (1)
{
size_t nhere;
- const unsigned char *usrc = *cpp;
/* The first thing is the index. */
i = *((int32_t *) cp);
@@ -113,7 +114,7 @@ findidx (const unsigned char **cpp)
}
*cpp += nhere;
- return offset;
+ return indirect[-i + offset];
}
}