| A64L(3) | Library Functions Manual | A64L(3) |
a64l, l64a,
l64a_r — convert between a
long integer and a base-64 ASCII string
Standard C Library (libc, -lc)
#include
<stdlib.h>
long
a64l(const
char *s);
char *
l64a(long
int l);
int
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, Version 2
(“XPG4.2”) and IEEE Std 1003.1-2004
(“POSIX.1”). 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.
| May 6, 2010 | NetBSD 11.0 |