tigersum/main.d

93 lines
3.7 KiB
D
Raw Normal View History

2014-09-24 19:16:16 +00:00
/* tigersum - a command line utility to calculate the tiger hash from input.
Copyright (C) 2014 Michele "King_DuckZ" Santullo
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
2014-09-19 16:19:25 +00:00
import std.stdio;
import std.file;
2014-09-24 18:36:53 +00:00
import tiger;
import std.array;
import std.getopt;
mixin(import("tigersumConfig.d"));
2014-09-19 16:19:25 +00:00
void main (string[] parArgs) {
const auto cwd = getcwd();
const auto working_dir = cwd ~ (cwd[$-1] == '/' ? "" : "/");
bool show_version, show_help, show_license;
bool check_mode;
ushort tiger_version = TIGER_VERSION_DEF;
getopt(parArgs,
"version|v", &show_version,
"help|h", &show_help,
"check|c", &check_mode,
"tiger|t", &tiger_version,
"licence|license", &show_license
);
if (check_mode) {
}
else if (show_help) {
writefln("Usage: %s [OPTION]... [FILE]...", PROGRAM_NAME);
writeln(" -c, --check Read tiger sums from FILE and check them.");
writeln(" -h, --help Show this help.");
writeln(" -v, --version Show version info and quit.");
writefln(" -t n, --tiger=n Set the tiger version that should be used. Valid values are 1 or 2, %d is default.", TIGER_VERSION_DEF);
writefln(" --license Show details about the license under which %s is distributed.", PROGRAM_NAME);
}
else if (show_version) {
writefln("%s %d.%d Copyright © %d Michele \"King_DuckZ\" Santullo", PROGRAM_NAME, TIGERSUM_VERSION_MAJOR, TIGERSUM_VERSION_MINOR, COPYRIGHT_YEAR);
writeln("Using the reference tiger implementation by Ross Anderson and Eli Biham");
writeln("http://www.cs.technion.ac.il/~biham/Reports/Tiger/");
writeln();
writeln("This program comes with ABSOLUTELY NO WARRANTY.");
writeln("This is free software, and you are welcome to redistribute it");
writefln("under certain conditions; run %s --license for details.", PROGRAM_NAME);
}
else if (show_license) {
writefln("%s - a command line utility to calculate the tiger hash from input.", PROGRAM_NAME);
writefln("Copyright © %d Michele \"King_DuckZ\" Santullo", COPYRIGHT_YEAR);
writeln();
writefln("%s is free software: you can redistribute it and/or modify", PROGRAM_NAME);
writeln("it under the terms of the GNU General Public License as published by");
writeln("the Free Software Foundation, either version 3 of the License, or");
writeln("(at your option) any later version.");
writeln();
writefln("%s is distributed in the hope that it will be useful,", PROGRAM_NAME);
writeln("but WITHOUT ANY WARRANTY; without even the implied warranty of");
writeln("MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the");
writeln("GNU General Public License for more details.");
writeln();
writeln("You should have received a copy of the GNU General Public License");
writeln("along with this program. If not, see <http://www.gnu.org/licenses/>.");
}
else {
//regular mode
}
//foreach (arg; parArgs[1 .. $]) {
// const auto curr_path = working_dir ~ arg;
// File curr_file = File(curr_path, "rb");
// if (!isDir(curr_path)) {
// writefln("%s %s", tigerToString(getTiger(curr_file, true)), arg);
// }
// else {
// writefln("tigersum: %s: is a directory", arg);
// }
//}
2014-09-19 16:19:25 +00:00
}