224
224
#ifdef TEST_BASE64
225
225
#include <stdio.h>
226
const char *values[] = {"", "1", "12", "123", "1234", "12345", "123456"};
227
int nvalues = sizeof(values) / sizeof(char *);
227
#include "readfile.h"
229
const char *thisprog;
230
static char usage [] = "testfile\n\n"
235
fprintf(stderr, "%s: usage:\n%s", thisprog, usage);
240
#define OPT_MOINS 0x1
228
244
int main(int argc, char **argv)
230
string in, out, back;
232
for (int i = 0; i < nvalues; i++) {
249
while (argc > 0 && **argv == '-') {
252
/* Cas du "adb - core" */
255
switch (*(*argv)++) {
256
case 'i': op_flags |= OPT_i; break;
257
default: Usage(); break;
262
if (op_flags & OPT_i) {
263
const char *values[] = {"", "1", "12", "123", "1234",
265
int nvalues = sizeof(values) / sizeof(char *);
266
string in, out, back;
268
for (int i = 0; i < nvalues; i++) {
270
base64_encode(in, out);
271
base64_decode(out, back);
273
fprintf(stderr, "In [%s] %d != back [%s] %d (out [%s] %d\n",
274
in.c_str(), int(in.length()),
275
back.c_str(), int(back.length()),
276
out.c_str(), int(out.length())
234
286
base64_encode(in, out);
235
287
base64_decode(out, back);
236
288
if (in != back) {
237
289
fprintf(stderr, "In [%s] %d != back [%s] %d (out [%s] %d\n",
238
in.c_str(),in.length(),
239
back.c_str(), back.length(),
240
out.c_str(), out.length()
290
in.c_str(), int(in.length()),
291
back.c_str(), int(back.length()),
292
out.c_str(), int(out.length())
250
base64_encode(in, out);
251
base64_decode(out, back);
253
fprintf(stderr, "In [%s] %d != back [%s] %d (out [%s] %d\n",
254
in.c_str(),in.length(),
255
back.c_str(), back.length(),
256
out.c_str(), out.length()
302
infile = *argv++;argc--;
303
string idata, reason;
304
if (!file_to_string(infile, idata, &reason)) {
305
fprintf(stderr, "Can't read file: %s\n", reason.c_str());
309
if (!base64_decode(idata, odata)) {
310
fprintf(stderr, "Decoding failed\n");
313
write(1, odata.c_str(),
314
odata.size() * sizeof(string::value_type));