From 53d40691f0285c781a3ca8ab394e29c6baf90c98 Mon Sep 17 00:00:00 2001 From: John Denker Date: Tue, 31 Jul 2012 07:52:41 -0700 Subject: basically working: two directories --- tools/ltgrey.c | 53 +++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 41 insertions(+), 12 deletions(-) (limited to 'tools/ltgrey.c') diff --git a/tools/ltgrey.c b/tools/ltgrey.c index b707dc2..26d0f64 100644 --- a/tools/ltgrey.c +++ b/tools/ltgrey.c @@ -11,10 +11,6 @@ string progname; #define exeunt exit -// forward reference: -void scan(const string progid, const string p, const int copies=1); - - int main(int _argc, char** _argv){ std::string hostname; std::string ipname; @@ -24,17 +20,23 @@ int main(int _argc, char** _argv){ char** argv(_argv); const string parent_dir("/var/qmail/ltgrey"); whatsit foo(argv[0], parent_dir); argc--; argv++; - int scanmode(0); + int scan40mode(0); + int scanrepmode(0); int copies(1); int shift(0); int stain(0); int dns_mode(0); string get_40_mid; - string set40_mid; + string set_40_mid; + string get_rep_mid; + string set_rep_mid; while (argc > 0) { string arg = argv[0]; argc--; argv++; - if (prefix(arg, "-scan40")) { - scanmode++; + if (0){ + } else if (prefix(arg, "-scan40")) { + scan40mode++; + } else if (prefix(arg, "-scanrep")) { + scanrepmode++; } else if (prefix(arg, "-copy")) { copies++; } else if (prefix(arg, "-verbose")) { @@ -52,7 +54,19 @@ int main(int _argc, char** _argv){ cerr << "Option '" << arg << "' requires an argument" << endl; exeunt(ex_syserr); } - set40_mid = *argv++; argc--; + set_40_mid = *argv++; argc--; + } else if (prefix(arg, "-setrep")) { + if (!argc){ + cerr << "Option '" << arg << "' requires an argument" << endl; + exeunt(ex_syserr); + } + set_rep_mid = *argv++; argc--; + } else if (prefix(arg, "-getrep")) { + if (!argc){ + cerr << "Option '" << arg << "' requires an argument" << endl; + exeunt(ex_syserr); + } + get_rep_mid = *argv++; argc--; } else if (prefix(arg, "-shift") || prefix(arg, "-shift")) { if (!argc){ @@ -94,15 +108,30 @@ int main(int _argc, char** _argv){ return 0; } - if (set40_mid.length()){ - return foo.set_40(set40_mid, shift); + if (set_40_mid.length()){ + return foo.set_40(set_40_mid, shift); } - if (scanmode) { + if (get_rep_mid.length()){ + box_state rslt = foo.get_rep(get_rep_mid); + cerr << foo.decode_40[rslt] << endl; + return 0; + } + + if (set_rep_mid.length()){ + return foo.set_rep(set_rep_mid, shift); + } + + if (scan40mode) { foo.scan_box(box_40, copies); return 0; } + if (scanrepmode) { + foo.scan_box(box_rep, copies); + return 0; + } + int sts = foo.doit(shift, stain); return sts; -- cgit v1.2.3