diff --git a/src/misc/a64l.c b/src/misc/a64l.c new file mode 100644 index 00000000..86aeefe0 --- /dev/null +++ b/src/misc/a64l.c @@ -0,0 +1,26 @@ +#include +#include +#include + +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)<>=6) + *p = digits[x&63]; + *p = 0; + return s; +}