From: Moritz Schlarb Date: Tue, 8 Oct 2019 10:10:12 +0000 (+0200) Subject: Add cli help and version option X-Git-Tag: archive/raspbian/7.0.7-1+rpi1^2~1 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=3672bd32db3febc6b82f6274f65847376537dc08;p=seafile-client.git Add cli help and version option Gbp-Pq: Name 0004-Add-cli-help-and-version-option.patch --- diff --git a/src/main.cpp b/src/main.cpp index 58376be..425ca77 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -88,11 +88,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' }, @@ -107,6 +138,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;