a64l(3C)


a64l, l64a, l64a_r -- convert between long integer and base-64 ASCII string

Synopsis

   #include <stdlib.h>
   

long a64l(const char *s);

char *l64a(long l);

char *l64a_r(long l, char *ret, size_t buflen);

Description

These functions are used to maintain numbers stored in base-64 ASCII characters. These characters define a notation by which long integers can be represented by up to six characters; each character represents a ``digit'' in a radix-64 notation.

The characters used to represent ``digits'' are . for 0, / for 1, 0 through 9 for 2-11, A through Z for 12-37, and a through z for 38-63.

a64l takes a pointer to a null-terminated base-64 representation and returns a corresponding long value. If the string pointed to by s contains more than six characters, a64l will use the first six.

a64l scans the character string from left to right with the least significant digit on the left, decoding each character as a 6-bit radix-64 number.

l64a takes a long argument and returns a pointer to the corresponding base-64 representation. If the argument is 0, l64a returns a pointer to a null string.

l64a_r stores the base-64 representation of l in the user supplied buffer ret of size buflen. It returns ret upon successful completion.

Errors

If l is zero, l64a_r returns NULL.

Notices

The value returned by l64a is a pointer into a static buffer, the contents of which are overwritten by each call.

Use the reentrant function l64a_r for multi-threaded applications.


© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 25 April 2004