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.