a64l(3) - NetBSD Manual Pages

A64L(3)                 NetBSD Library Functions Manual                A64L(3)


NAME
a64l, l64a, l64a_r -- convert between a long integer and a base-64 ASCII string
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <stdlib.h> long a64l(const char *s); char * l64a(long int l); int l64a_r(long int l, char *buffer, int buflen);
DESCRIPTION
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 represen- tation, s, and returns the corresponding long integer value. l64a() takes a long integer value, l, and returns a pointer to the corre- sponding 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, consum- ing at most buflen characters including the terminating NUL character.
RETURN VALUES
On successful completion, a64l() returns the long integer value corre- sponding 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 cor- responding 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 insuffi- cient length, -1 is returned.
SEE ALSO
strtol(3)
STANDARDS
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.
BUGS
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. NetBSD 10.99 May 6, 2010 NetBSD 10.99

Powered by man-cgi (2024-08-26). Maintained for NetBSD by Kimmo Suominen. Based on man-cgi by Panagiotis Christias.