aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJan Sucan <jan@jansucan.com>2025-01-18 14:26:31 +0100
committerJán Sučan <jan@jansucan.com>2025-01-18 14:28:39 +0100
commitcbf5629a2cfde155924d2a173111cc473f30b693 (patch)
treef627c5d4b1f9973b66e3391e827fe071a78d274d /src
parent1d30b8200b2a6b2ac12ad41d8a471fc4a40b8e85 (diff)
Add version command line option
Diffstat (limited to 'src')
-rw-r--r--src/main.cpp10
-rw-r--r--src/options.cpp8
-rw-r--r--src/options.h1
3 files changed, 19 insertions, 0 deletions
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 <iostream>
+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;
}
@@ -93,6 +95,12 @@ OptionParser::isHelp(int argc, char **argv)
}
bool
+OptionParser::isVersion(int argc, char **argv)
+{
+ return isOperation(argc, argv, "version");
+}
+
+bool
OptionParser::isBackup(int argc, char **argv)
{
return isOperation(argc, argv, "backup");
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);
;