2 * Copyright (c) 2000 Markus Friedl. All rights reserved.
8 uuencode(unsigned char *src, unsigned int srclength,
9 char *target, size_t targsize)
11 return __b64_ntop(src, srclength, target, targsize);
15 uudecode(const char *src, unsigned char *target, size_t targsize)
20 /* copy the 'readonly' source */
21 encoded = xstrdup(src);
22 /* skip whitespace and data */
23 for (p = encoded; *p == ' ' || *p == '\t'; p++)
25 for (; *p != '\0' && *p != ' ' && *p != '\t'; p++)
27 /* and remote trailing whitespace because __b64_pton needs this */
29 len = __b64_pton(encoded, target, targsize);
35 dump_base64(FILE *fp, unsigned char *data, int len)
37 unsigned char *buf = xmalloc(2*len);
39 n = uuencode(data, len, buf, 2*len);
40 for (i = 0; i < n; i++) {
41 fprintf(fp, "%c", buf[i]);