+ const char *p;
+ while (*len > 0 && strchr("\r\n\t\f ", **in))
+ {
+ (*len)--;
+ (*in)++;
+ }
+ if (*len > 0 && **in == '=')
+ return -2;
+ if (*len > 0 && (p = strchr(map, **in)))
+ {
+ (*len)--;
+ (*in)++;
+ return p - map;
+ }
+ return -1;
+}
+
+int yaz_base64decode(const char *in, char *out)
+{
+ size_t len = strlen(in);