mirror of git://git.musl-libc.org/musl
implement a64l and l64a (legacy xsi stuff)
This commit is contained in:
parent
e0614f7cd4
commit
ca19774c91
|
@ -0,0 +1,26 @@
|
|||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <stdint.h>
|
||||
|
||||
static const char digits[] =
|
||||
"./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
|
||||
|
||||
long a64l(const char *s)
|
||||
{
|
||||
int e;
|
||||
uint32_t x = 0;
|
||||
for (e=0; e<36 && *s; e+=6, s++)
|
||||
x |= (strchr(digits, *s)-digits)<<e;
|
||||
return x;
|
||||
}
|
||||
|
||||
char *l64a(long x0)
|
||||
{
|
||||
static char s[7];
|
||||
char *p;
|
||||
uint32_t x = x0;
|
||||
for (p=s; x; p++, x>>=6)
|
||||
*p = digits[x&63];
|
||||
*p = 0;
|
||||
return s;
|
||||
}
|
Loading…
Reference in New Issue