diff options
author | Jeff Johnston <jjohnstn@redhat.com> | 2005-10-28 21:21:08 +0000 |
---|---|---|
committer | Jeff Johnston <jjohnstn@redhat.com> | 2005-10-28 21:21:08 +0000 |
commit | 239c2bf93e32e147dab3e6cde99078d1ad5a1ef5 (patch) | |
tree | ce34a06bc2f7aa30c01d990662463072df296bc6 /newlib/libc/stdlib/a64l.c | |
parent | 39e9e2b0c972dee5cbcb1a0c10c175805c647e51 (diff) | |
download | cygnal-239c2bf93e32e147dab3e6cde99078d1ad5a1ef5.tar.gz cygnal-239c2bf93e32e147dab3e6cde99078d1ad5a1ef5.tar.bz2 cygnal-239c2bf93e32e147dab3e6cde99078d1ad5a1ef5.zip |
2005-10-28 Bob Wilson <bob.wilson@acm.org>
* libc/misc/unctrl.c: Replace FUNCTION description.
* libc/signal/signal.c: Remove documentation for raise and _raise_r.
* libc/stdio/getdelim.c: Fix spelling errors.
* libc/stdio/getw.c: Put RETURNS on a separate line. Fix punctuation.
* libc/stdio/putw.c: Likewise.
* libc/stdlib/a64l.c: Fix formatting, spelling and punctuation in
documentation.
* libc/stdlib/assert.c: Do not capitalize FUNCTION description.
* libc/stdlib/efgcvt.c: Add spaces to FUNCTION description.
* libc/stdlib/envlock.c: Use em-dash in FUNCTION description.
* libc/stdlib/mlock.c: Likewise.
* libc/stdlib/mstats.c: Likewise.
* libc/time/tzlock.c: Likewise.
* libc/stdlib/rand.c: Use "multi-threaded" and "thread-safe" in NOTES.
* libc/stdlib/rand48.c: Remove extra space in FUNCTION description
and hyphenate "pseudo-random".
* libc/string/bcmp.c: Remove extra blank lines in documentation.
* libc/string/strncat.c: Likewise.
* libc/string/memchr.c: Remove extra ">" character in documentation.
* libc/string/strcspn.c: Use "characters" instead of "chars".
* libc/string/strpbrk.c: Likewise.
* libc/string/strerror_r.c: Capitalize "GNU".
* libc/string/strnlen.c: Likewise.
* libc/string/strtok.c: Fix formatting, spelling and punctuation in
documentation. Use "multi-threaded" and "thread-safe" in NOTES.
* libc/string/wcscat.c: Split PORTABILITY into two paragraphs.
* libc/string/wcschr.c: Likewise.
* libc/string/wcscmp.c: Likewise.
* libc/string/wcscpy.c: Likewise.
* libc/string/wcscspn.c: Likewise.
* libc/string/wcslen.c: Likewise.
* libc/string/wcsncat.c: Likewise.
* libc/string/wcsncmp.c: Likewise.
* libc/string/wcsncpy.c: Likewise.
* libc/string/wcsnlen.c: Likewise.
* libc/string/wcspbrk.c: Likewise.
* libc/string/wcsrchr.c: Likewise.
* libc/string/wcsspn.c: Likewise.
* libc/string/wmemchr.c: Likewise.
* libc/string/wmemcmp.c: Likewise.
* libc/string/wmemcpy.c: Likewise.
* libc/string/wmemset.c: Likewise.
* libc/string/wmemmove.c: Likewise. Also fix FUNCTION description.
* libc/string/wcswidth.c: Formatting and punctuation in documentation.
* libc/string/wcwidth.c: Likewise.
* libm/common/s_modf.c: Remove extra period from documentation.
* libm/math/s_isnan.c: Fix formatting, grammar and punctuation in
documentation.
* libm/mathfp/s_isnan.c: Likewise.
* libm/math/s_ldexp.c: Fix punctuation.
* libm/mathfp/s_ldexp.c: Likewise.
* libm/math/w_log.c: Likewise.
* libm/mathfp/s_logarithm.c: Likewise.
* libm/math/w_j0.c: Add spaces to FUNCTION description.
* libm/mathfp/w_jn.c: Likewise.
Diffstat (limited to 'newlib/libc/stdlib/a64l.c')
-rw-r--r-- | newlib/libc/stdlib/a64l.c | 55 |
1 files changed, 30 insertions, 25 deletions
diff --git a/newlib/libc/stdlib/a64l.c b/newlib/libc/stdlib/a64l.c index 93c8e834b..42fc2d2fa 100644 --- a/newlib/libc/stdlib/a64l.c +++ b/newlib/libc/stdlib/a64l.c @@ -1,6 +1,6 @@ /* FUNCTION -<<a64l>>,<<l64a>>---convert between radix-64 ascii string and long +<<a64l>>, <<l64a>>---convert between radix-64 ASCII string and long INDEX a64l @@ -21,31 +21,36 @@ TRAD_SYNOPSIS long <[input]>; DESCRIPTION -Conversion is performed between long and radix-64 characters. The <<l64a>> routine -transforms up to 32-bits of input value starting from least significant bits to -the most significant bits. The input value is split up into a maximum of 5 -groups of 6-bits and possibly one group of 2 bits (bits 31 and 30). - -Each group of 6 bits forms a value from 0-63 which is translated into a character -as follows: - - 0 = '.' - 1 = '/' - 2-11 = '0' to '9' - 12-37 = 'A' to 'Z' - 38-63 = 'a' to 'z' - -When remaining bits are zero or all bits have been translated, a nul terminator -is appended to the string. An input value of 0 results in the empty string. - -The <<a64l>> performs the reverse translation. Each character is used to generate -a 6-bit value for up to 30 bits and then a 2-bit value to complete a 32-bit result. -The nul terminator means that the remaining digits are 0. An empty input string or -NULL string results in 0L. An invalid string results in undefined behavior. -If the size of a long is > 32 bits, the result is sign-extended. - +Conversion is performed between long and radix-64 characters. The +<<l64a>> routine transforms up to 32 bits of input value starting from +least significant bits to the most significant bits. The input value +is split up into a maximum of 5 groups of 6 bits and possibly one +group of 2 bits (bits 31 and 30). + +Each group of 6 bits forms a value from 0--63 which is translated into +a character as follows: + +O+ +o 0 = '.' +o 1 = '/' +o 2--11 = '0' to '9' +o 12--37 = 'A' to 'Z' +o 38--63 = 'a' to 'z' +O- + +When the remaining bits are zero or all bits have been translated, a +null terminator is appended to the string. An input value of 0 +results in the empty string. + +The <<a64l>> function performs the reverse translation. Each +character is used to generate a 6-bit value for up to 30 bits and then +a 2-bit value to complete a 32-bit result. The null terminator means +that the remaining digits are 0. An empty input string or NULL string +results in 0L. An invalid string results in undefined behavior. If +the size of a long is greater than 32 bits, the result is sign-extended. + RETURNS -<<l64a>> returns a nul-terminated string of 0 to 6 characters. +<<l64a>> returns a null-terminated string of 0 to 6 characters. <<a64l>> returns the 32-bit translated value from the input character string. PORTABILITY |