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