From cbf5629a2cfde155924d2a173111cc473f30b693 Mon Sep 17 00:00:00 2001 From: Jan Sucan Date: Sat, 18 Jan 2025 14:26:31 +0100 Subject: Add version command line option --- src/main.cpp | 10 ++++++++++ src/options.cpp | 8 ++++++++ src/options.h | 1 + 3 files changed, 19 insertions(+) (limited to 'src') diff --git a/src/main.cpp b/src/main.cpp index 8f6dac5..9b74c08 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -29,14 +29,24 @@ #include "options.h" #include "restore.h" +#include "program_info.h" + #include +void +print_version() +{ + std::cout << PROGRAM_NAME_STR << " " << PROGRAM_VERSION_STR << std::endl; +} + int main(int argc, char **argv) { try { if (OptionParser::isHelp(argc, argv)) { OptionParser::printUsage(); + } else if (OptionParser::isVersion(argc, argv)) { + print_version(); } else if (OptionParser::isBackup(argc, argv)) { backup(OptionParser::parseBackup(argc, argv)); } else if (OptionParser::isRestore(argc, argv)) { diff --git a/src/options.cpp b/src/options.cpp index c44fd06..a5912b6 100644 --- a/src/options.cpp +++ b/src/options.cpp @@ -83,6 +83,8 @@ OptionParser::printUsage() std::cout << " Or: " << PROGRAM_NAME_STR << " restore"; std::cout << "[-B BUFFER_SIZE] -d DIFFFILE -o OUTFILE" << std::endl; + std::cout << " Or: " << PROGRAM_NAME_STR << " version" << std::endl; + std::cout << " Or: " << PROGRAM_NAME_STR << " help" << std::endl; } @@ -92,6 +94,12 @@ OptionParser::isHelp(int argc, char **argv) return isOperation(argc, argv, "help"); } +bool +OptionParser::isVersion(int argc, char **argv) +{ + return isOperation(argc, argv, "version"); +} + bool OptionParser::isBackup(int argc, char **argv) { diff --git a/src/options.h b/src/options.h index 80cb8f8..ba7e7ac 100644 --- a/src/options.h +++ b/src/options.h @@ -90,6 +90,7 @@ class OptionParser public: static void printUsage(); static bool isHelp(int argc, char **argv); + static bool isVersion(int argc, char **argv); static bool isBackup(int argc, char **argv); static bool isRestore(int argc, char **argv); ; -- cgit v1.2.3