]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
Move and rename parse_json_argument() function
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Sun, 14 Feb 2021 10:45:01 +0000 (11:45 +0100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Mon, 15 Feb 2021 07:50:45 +0000 (08:50 +0100)
json.[ch] is a very generic implementation, and cmdline argument parsing
doesn't fit there.

src/busctl/busctl.c
src/coredump/coredumpctl.c
src/dissect/dissect.c
src/home/homectl.c
src/partition/repart.c
src/shared/json.c
src/shared/json.h
src/shared/parse-argument.c
src/shared/parse-argument.h
src/sysext/sysext.c

index 7774aeac7c2e0bfab8a03eee69999774e7af799f..6a492ebd02f4175d6fc08a085ce6e32cf32c2644 100644 (file)
@@ -21,6 +21,7 @@
 #include "log.h"
 #include "main-func.h"
 #include "pager.h"
+#include "parse-argument.h"
 #include "parse-util.h"
 #include "path-util.h"
 #include "pretty-print.h"
@@ -2523,7 +2524,7 @@ static int parse_argv(int argc, char *argv[]) {
                         break;
 
                 case ARG_JSON:
-                        r = json_parse_cmdline_parameter_and_warn(optarg, &arg_json_format_flags);
+                        r = parse_json_argument(optarg, &arg_json_format_flags);
                         if (r <= 0)
                                 return r;
 
index 46183451de07e02e191eac86d0e84829b4e6cf13..20cd90bd568ab140085242c89af456a8365dccd5 100644 (file)
@@ -25,6 +25,7 @@
 #include "macro.h"
 #include "main-func.h"
 #include "pager.h"
+#include "parse-argument.h"
 #include "parse-util.h"
 #include "path-util.h"
 #include "pretty-print.h"
@@ -320,7 +321,7 @@ static int parse_argv(int argc, char *argv[]) {
                         break;
 
                 case ARG_JSON:
-                        r = json_parse_cmdline_parameter_and_warn(optarg, &arg_json_format_flags);
+                        r = parse_json_argument(optarg, &arg_json_format_flags);
                         if (r <= 0)
                                 return r;
 
index e5ca85ffc51d19555682b4d5709cf4318a5e9fdc..f8f34dcc4dd832e420b95cc74a33fd40688a2aad 100644 (file)
@@ -260,7 +260,7 @@ static int parse_argv(int argc, char *argv[]) {
                         break;
 
                 case ARG_JSON:
-                        r = json_parse_cmdline_parameter_and_warn(optarg, &arg_json_format_flags);
+                        r = parse_json_argument(optarg, &arg_json_format_flags);
                         if (r <= 0)
                                 return r;
 
index c667419a51961a97ac49b734096c02ac73dfa1e5..83fc86efe358693ef89f9477332d148ec57347ac 100644 (file)
@@ -3234,7 +3234,7 @@ static int parse_argv(int argc, char *argv[]) {
                         break;
 
                 case ARG_JSON:
-                        r = json_parse_cmdline_parameter_and_warn(optarg, &arg_json_format_flags);
+                        r = parse_json_argument(optarg, &arg_json_format_flags);
                         if (r <= 0)
                                 return r;
 
index 98280850189985b6423787774a7a6ee27a4e1faf..78c31187ea4142e0d47dba879bb3390ada9bc6ff 100644 (file)
@@ -3688,7 +3688,7 @@ static int parse_argv(int argc, char *argv[]) {
                 }
 
                 case ARG_JSON:
-                        r = json_parse_cmdline_parameter_and_warn(optarg, &arg_json_format_flags);
+                        r = parse_json_argument(optarg, &arg_json_format_flags);
                         if (r <= 0)
                                 return r;
 
index b8f8292e74bc32833d4a9db574daa239fa26bed8..cc79375410f2b245d5d08bebea9178505a6302b4 100644 (file)
@@ -4459,27 +4459,6 @@ int json_variant_unhex(JsonVariant *v, void **ret, size_t *ret_size) {
         return unhexmem(json_variant_string(v), (size_t) -1, ret, ret_size);
 }
 
-int json_parse_cmdline_parameter_and_warn(const char *s, JsonFormatFlags *ret) {
-        assert(s);
-        assert(ret);
-
-        if (streq(s, "pretty"))
-                *ret = JSON_FORMAT_PRETTY|JSON_FORMAT_COLOR_AUTO;
-        else if (streq(s, "short"))
-                *ret = JSON_FORMAT_NEWLINE;
-        else if (streq(s, "off"))
-                *ret = JSON_FORMAT_OFF;
-        else if (streq(s, "help")) {
-                puts("pretty\n"
-                     "short\n"
-                     "off");
-                return 0; /* 0 means → we showed a brief help, exit now */
-        } else
-                return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Unknown argument to --json= switch: %s", s);
-
-        return 1; /* 1 means → properly parsed */
-}
-
 static const char* const json_variant_type_table[_JSON_VARIANT_TYPE_MAX] = {
         [JSON_VARIANT_STRING] = "string",
         [JSON_VARIANT_INTEGER] = "integer",
index a335dd3623093d6552cf12200f46105eb8667cf5..d4290667616fc451c94b50dae7342d7cc7b6e74c 100644 (file)
@@ -357,7 +357,5 @@ int json_log_internal(JsonVariant *variant, int level, int error, const char *fi
 int json_variant_unbase64(JsonVariant *v, void **ret, size_t *ret_size);
 int json_variant_unhex(JsonVariant *v, void **ret, size_t *ret_size);
 
-int json_parse_cmdline_parameter_and_warn(const char *s, JsonFormatFlags *ret);
-
 const char *json_variant_type_to_string(JsonVariantType t);
 JsonVariantType json_variant_type_from_string(const char *s);
index 774cb1bc82a7f35ef3de477b171008fd9b77c3d6..cd1d0dde21a54cbbe0b0074ab2a504f3a23c3db6 100644 (file)
 
 /* All functions in this file emit warnigs. */
 
+int parse_json_argument(const char *s, JsonFormatFlags *ret) {
+        assert(s);
+        assert(ret);
+
+        if (streq(s, "pretty"))
+                *ret = JSON_FORMAT_PRETTY|JSON_FORMAT_COLOR_AUTO;
+        else if (streq(s, "short"))
+                *ret = JSON_FORMAT_NEWLINE;
+        else if (streq(s, "off"))
+                *ret = JSON_FORMAT_OFF;
+        else if (streq(s, "help")) {
+                puts("pretty\n"
+                     "short\n"
+                     "off");
+                return 0; /* 0 means → we showed a brief help, exit now */
+        } else
+                return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Unknown argument to --json= switch: %s", s);
+
+        return 1; /* 1 means → properly parsed */
+}
+
 int parse_path_argument(const char *path, bool suppress_root, char **arg) {
         char *p;
         int r;
index 4ec334fe5ed250028cdddfb5d2dcc70b0a489a13..28b58cc2e29042ba97320f8a45c695d62113108b 100644 (file)
@@ -1,5 +1,8 @@
 /* SPDX-License-Identifier: LGPL-2.1-or-later */
 #pragma once
 
+#include "json.h"
+
+int parse_json_argument(const char *s, JsonFormatFlags *ret);
 int parse_path_argument(const char *path, bool suppress_root, char **arg);
 int parse_signal_argument(const char *s, int *ret);
index ff8d58902acc5cd65cff6b6abbf3878c903ab034..57a36d478a2e6b0466efd61bd6146900a3d517f2 100644 (file)
@@ -950,7 +950,7 @@ static int parse_argv(int argc, char *argv[]) {
                         break;
 
                 case ARG_JSON:
-                        r = json_parse_cmdline_parameter_and_warn(optarg, &arg_json_format_flags);
+                        r = parse_json_argument(optarg, &arg_json_format_flags);
                         if (r <= 0)
                                 return r;