a64l, l64a, l64a_r - convert between a long integer and a base-64 ASCII
Standard C Library (libc, -lc)
a64l(const char *s);
l64a(long int l);
l64a_r(long int l, char *buffer, int buflen);
The a64l() and l64a() functions convert between a long integer and its
base-64 ASCII string representation.
The characters used to represent ``digits'' are `.' for 0, `/' for 1, `0'
- `9' for 2 - 11, `A' - `Z' for 12 - 37, and `a' - `z' for 38 - 63.
a64l() takes a pointer to a NUL-terminated base-64 ASCII string representation,
s, and returns the corresponding long integer value.
l64a() takes a long integer value, l, and returns a pointer to the corresponding
NUL-terminated base-64 ASCII string representation.
l64a_r() performs a conversion identical to that of l64a() and stores the
resulting representation in the memory area pointed to by buffer, consuming
at most buflen characters including the terminating NUL character.
On successful completion, a64l() returns the long integer value corresponding
to the input string. If the string pointed to by s is an empty
string, a64l() returns a value of 0L.
l64a() returns a pointer to the base-64 ASCII string representation corresponding
to the input value. If l is 0L, l64a() returns a pointer to
an empty string.
On successful completion, l64a_r() returns 0; if buffer is of insufficient
length, -1 is returned.
The a64l() and l64a() functions conform to X/Open Portability Guide
Issue 4.2 (``XPG4.2''). The l64a_r() function conforms to System V
Interface Definition, Fourth Edition (``SVID4''), Multithreading Extension.
The l64a() function is not reentrant. The value returned by it points
into a static buffer area; subsequent calls to la64a() may overwrite this
buffer. In multi-threaded applications, l64a_r() should be used instead.
BSD February 6, 1999 BSD
[ Back ]