1 /*
2 * Base64 encoding/decoding (RFC1341) - test program
3 * Copyright (c) 2005, Jouni Malinen <j@w1.fi>
4 *
5 * This software may be distributed under the terms of the BSD license.
6 * See README for more details.
7 */
8
9 #include "utils/includes.h"
10 #include "utils/os.h"
11 #include "utils/base64.h"
12
main(int argc,char * argv[])13 int main(int argc, char *argv[])
14 {
15 FILE *f;
16 size_t len, elen;
17 unsigned char *buf, *e;
18
19 if (argc != 4) {
20 printf("Usage: base64 <encode|decode> <in file> <out file>\n");
21 return -1;
22 }
23
24 buf = (unsigned char *) os_readfile(argv[2], &len);
25 if (buf == NULL)
26 return -1;
27
28 if (strcmp(argv[1], "encode") == 0)
29 e = (unsigned char *) base64_encode(buf, len, &elen);
30 else
31 e = base64_decode((const char *) buf, len, &elen);
32 if (e == NULL)
33 return -2;
34 f = fopen(argv[3], "w");
35 if (f == NULL)
36 return -3;
37 fwrite(e, 1, elen, f);
38 fclose(f);
39 free(e);
40
41 return 0;
42 }
43