diff options
author | Andreas Schwab <schwab@suse.de> | 2001-10-25 10:20:40 +0000 |
---|---|---|
committer | Andreas Schwab <schwab@suse.de> | 2001-10-25 10:20:40 +0000 |
commit | ab1c32a6981e6742cb6c463c01ff59680c2ac773 (patch) | |
tree | 98427b7a31aa21c0417f6eb6478bac416a1f3df7 /stdlib/a64l.c | |
parent | 412420ee838f53d5d9cda3cc270cb1b656cc7c13 (diff) | |
download | glibc-ab1c32a6981e6742cb6c463c01ff59680c2ac773.tar glibc-ab1c32a6981e6742cb6c463c01ff59680c2ac773.tar.gz glibc-ab1c32a6981e6742cb6c463c01ff59680c2ac773.tar.bz2 glibc-ab1c32a6981e6742cb6c463c01ff59680c2ac773.zip |
* stdlib/a64l.c: Expect least significant digit first.
* stdlib/l64a.c: Produce least significant digit first.
* stdlib/Makefile (tests): Add test-a64l.
* stdlib/test-a64l.c: New file.
Diffstat (limited to 'stdlib/a64l.c')
-rw-r--r-- | stdlib/a64l.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/stdlib/a64l.c b/stdlib/a64l.c index 036e552f7f..23faf2744f 100644 --- a/stdlib/a64l.c +++ b/stdlib/a64l.c @@ -43,6 +43,7 @@ a64l (string) const char *ptr = string; unsigned long int result = 0ul; const char *end = ptr + 6; + int shift = 0; do { @@ -55,9 +56,9 @@ a64l (string) value = (int) a64l_table[index]; if (value == (int) XX) break; - result <<= 6; ++ptr; - result |= value; + result |= value << shift; + shift += 6; } while (ptr != end); |