7 main (int argc, char *argv[])
9 const char *in = "abcdefghijklmnop";
10 const char *b64in = "YWJjZGVmZw==";
16 memset (out, 0x42, sizeof (out));
17 base64_encode (in, 0, out, 0);
19 fprintf (stderr, "failure\n");
21 memset (out, 0x42, sizeof (out));
22 base64_encode (in, 1, out, 1);
23 if (memcmp (out, "YQ==", 1) != 0)
26 fprintf (stderr, "failure (%s)\n", out);
29 memset (out, 0x42, sizeof (out));
30 base64_encode (in, 1, out, 2);
31 if (memcmp (out, "YQ==", 2) != 0)
34 fprintf (stderr, "failure (%s)\n", out);
37 memset (out, 0x42, sizeof (out));
38 base64_encode (in, 1, out, 3);
39 if (memcmp (out, "YQ==", 3) != 0)
42 fprintf (stderr, "failure (%s)\n", out);
45 memset (out, 0x42, sizeof (out));
46 base64_encode (in, 1, out, 4);
47 if (memcmp (out, "YQ==", 4) != 0)
50 fprintf (stderr, "failure (%s)\n", out);
53 memset (out, 0x42, sizeof (out));
54 base64_encode (in, 1, out, 8);
55 if (memcmp (out, "YQ==", 4) != 0)
58 fprintf (stderr, "failure (%s)\n", out);
61 memset (out, 0x42, sizeof (out));
62 base64_encode (in, 2, out, 4);
63 if (memcmp (out, "YWI=", 4) != 0)
66 fprintf (stderr, "failure (%s)\n", out);
69 memset (out, 0x42, sizeof (out));
70 base64_encode (in, 3, out, 4);
71 if (memcmp (out, "YWJj", 4) != 0)
74 fprintf (stderr, "failure (%s)\n", out);
77 memset (out, 0x42, sizeof (out));
78 base64_encode (in, 4, out, 5);
79 if (memcmp (out, "YWJjZA==", 5) != 0)
82 fprintf (stderr, "failure (%s)\n", out);
85 memset (out, 0x42, sizeof (out));
86 base64_encode (in, 4, out, 100);
87 if (memcmp (out, "YWJjZA==", 6) != 0)
90 fprintf (stderr, "failure (%s)\n", out);
95 memset (out, 0x42, sizeof (out));
97 ok = base64_decode (b64in, 4, out, &len);
99 fprintf (stderr, "decode failed\n");
101 fprintf (stderr, "failure (%d)\n", len);
103 memset (out, 0x42, sizeof (out));
105 ok = base64_decode (b64in, 4, out, &len);
107 fprintf (stderr, "decode failed\n");
108 if (len != 1 || memcmp (out, "abcdefg", 1) != 0)
111 fprintf (stderr, "failure (%d: %s)\n", len, out);
114 memset (out, 0x42, sizeof (out));
116 ok = base64_decode (b64in, 4, out, &len);
118 fprintf (stderr, "decode failed\n");
119 if (len != 2 || memcmp (out, "abcdefg", 2) != 0)
122 fprintf (stderr, "failure (%d: %s)\n", len, out);
125 memset (out, 0x42, sizeof (out));
127 ok = base64_decode (b64in, 4, out, &len);
129 fprintf (stderr, "decode failed\n");
130 if (len != 3 || memcmp (out, "abcdefg", 3) != 0)
133 fprintf (stderr, "failure (%d: %s)\n", len, out);
136 memset (out, 0x42, sizeof (out));
138 ok = base64_decode (b64in, 4, out, &len);
140 fprintf (stderr, "decode failed\n");
141 if (len != 3 || memcmp (out, "abcdefg", 3) != 0)
144 fprintf (stderr, "failure (%d: %s)\n", len, out);
147 memset (out, 0x42, sizeof (out));
149 ok = base64_decode (b64in, strlen (b64in), out, &len);
151 fprintf (stderr, "decode failed\n");
152 if (len != 7 || memcmp (out, "abcdefg", 7) != 0)
155 fprintf (stderr, "failure (%d: %s)\n", len, out);