From e73976801ce1caabad41b75b8e0511abfbc4a2a2 Mon Sep 17 00:00:00 2001 From: Moritz Schlarb Date: Tue, 8 Oct 2019 12:10:12 +0200 Subject: [PATCH] Add cli help and version option Gbp-Pq: Name 0004-Add-cli-help-and-version-option.patch --- src/main.cpp | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/src/main.cpp b/src/main.cpp index 7e87eee..03ddc39 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -90,11 +90,42 @@ void setupSettingDomain() QCoreApplication::setApplicationName(QString("%1 Client").arg(getBrand())); } +void do_version() { + // from src/ui/about-dialog.cpp + QString version_text = QString("%1 Client %2") + .arg(getBrand()) + .arg(STRINGIZE(SEAFILE_CLIENT_VERSION)) +#ifdef SEAFILE_CLIENT_REVISION + .append(" REV %1") + .arg(STRINGIZE(SEAFILE_CLIENT_REVISION)) +#endif + ; + printf("%s\n", toCStr(version_text)); +} + +void do_help(int argc, char *argv[]) { + printf("Usage: %s [options]\n", argv[0]); + printf("\n"); + printf("Options:\n"); + printf(" -V,--version\n"); + printf(" -h,--help\n"); + printf(" -c,--config-dir=\n"); + printf(" -d,--data-dir=\n"); + printf(" -K,--stop\n"); + printf(" -D,--delay\n"); + printf(" -X,--remove-user-data\n"); + printf(" -f,--open-local-file=\n"); + printf(" --stdout\n"); + printf(" -P,--ping\n"); +} + void handleCommandLineOption(int argc, char *argv[]) { int c; - static const char *short_options = "KDXPc:d:f:"; + static const char *short_options = "VhKDXPc:d:f:"; static const struct option long_options[] = { + { "version", no_argument, NULL, 'V' }, + { "help", no_argument, NULL, 'h' }, { "config-dir", required_argument, NULL, 'c' }, { "data-dir", required_argument, NULL, 'd' }, { "stop", no_argument, NULL, 'K' }, @@ -109,6 +140,12 @@ void handleCommandLineOption(int argc, char *argv[]) while ((c = getopt_long (argc, argv, short_options, long_options, NULL)) != EOF) { switch (c) { + case 'V': + do_version(); + exit(0); + case 'h': + do_help(argc, argv); + exit(0); case 'c': g_setenv ("CCNET_CONF_DIR", optarg, 1); break; -- 2.30.2