diff --git a/panda/src/downloadertools/check_md5.cxx b/panda/src/downloadertools/check_md5.cxx index 068d615c67..b4164a6b11 100644 --- a/panda/src/downloadertools/check_md5.cxx +++ b/panda/src/downloadertools/check_md5.cxx @@ -32,7 +32,7 @@ usage() { cerr << "\n" "Usage:\n\n" - "check_md5 [-d] [-i \"input string\"] [file1 file2 ...]\n" + "check_md5 [-q] [-d] [-i \"input string\"] [file1 file2 ...]\n" "check_md5 -h\n\n"; } @@ -45,12 +45,14 @@ help() { "An MD5 hash is a 128-bit value. The output is presented as a 32-digit\n" "hexadecimal string by default, but with -d, it is presented as four\n" - "big-endian unsigned 32-bit decimal integers.\n\n"; + "big-endian unsigned 32-bit decimal integers. Normally the filename\n" + "of each file is printed along with the hash; -q suppresses this.\n\n"; } void -output_hash(const string &filename, const HashVal &hash, bool output_decimal) { - if (!filename.empty()) { +output_hash(const string &filename, const HashVal &hash, + bool output_decimal, bool suppress_filename) { + if (!suppress_filename && !filename.empty()) { cout << filename << " "; } if (output_decimal) { @@ -66,11 +68,12 @@ int main(int argc, char *argv[]) { extern char *optarg; extern int optind; - const char *optstr = "i:dh"; + const char *optstr = "i:dqh"; bool got_input_string = false; string input_string; bool output_decimal = false; + bool suppress_filename = false; int flag = getopt(argc, argv, optstr); @@ -85,6 +88,10 @@ main(int argc, char *argv[]) { output_decimal = true; break; + case 'q': + suppress_filename = true; + break; + case 'h': help(); exit(1); @@ -106,7 +113,7 @@ main(int argc, char *argv[]) { if (got_input_string) { HashVal hash; hash.hash_string(input_string); - output_hash("", hash, output_decimal); + output_hash("", hash, output_decimal, true); } bool okflag = true; @@ -123,7 +130,8 @@ main(int argc, char *argv[]) { cerr << "Unable to read " << source_file << "\n"; okflag = false; } else { - output_hash(source_file.get_basename(), hash, output_decimal); + output_hash(source_file.get_basename(), hash, + output_decimal, suppress_filename); } } }