#define realloc reallok
-// convert a binary blob to hex (non-reentrant!!!)
-char *hexout(void *data, size_t len) {
+// convert a binary blob to base64 (non-reentrant!)
+char *b64out(void *data, size_t len) {
static char *outbuf = NULL;
static size_t outlen = 0;
int i;
outlen = len * 2;
}
- for (i=0; i<len; ++i) {
- ch = 0;
- memcpy(&ch, data+i, 1);
- sprintf((outbuf + (i * 2)), "%02X", (int) ch);
- }
-
+ CtdlEncodeBase64(outbuf, data, len, 0);
return(outbuf);
}
// If the msgnum is positive, we are looking at a MESSAGE
else if (in_msgnum > 0) {
- printf("msgtext|%ld|%s|\n", in_msgnum, hexout(in_data->data, in_data->size));
+ printf("msgtext|%ld|%s|\n", in_msgnum, b64out(in_data->data, in_data->size));
}
// If the msgnum is 0 it's probably not a valid record.
user->fullname,
user->msgnum_bio,
user->msgnum_pic,
- hexout(user->emailaddrs, strlen(user->emailaddrs)),
+ b64out(user->emailaddrs, strlen(user->emailaddrs)),
user->msgnum_inboxrules,
user->lastproc_inboxrules
);
long msgnum;
memcpy(&msgnum, in_key->data, sizeof(msgnum));
- printf("bigmsg|%ld|%s|\n", msgnum, hexout(in_data->data, in_data->size));
+ printf("bigmsg|%ld|%s|\n", msgnum, b64out(in_data->data, in_data->size));
}