long
a64l(
const char *s
)
char
*
l64a(
long int l
)
int
l64a_r(
long int l
, char *buffer
, int buflen
)
)
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.
)
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.
)
and
l64a(
)
functions conform to
X/Open Portability Guide Issue 4, Version 2 (``XPG4.2'') .
The
l64a_r(
)
function conforms to
System V Interface Definition, Fourth Edition (``SVID4'') ,
Multithreading Extension.
)
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.