[ostree] cmdline: (cleanup) Add internal helper to parse key=value options



commit 1d216a8c604733bd9ac25200731ec2d8d781fe14
Author: Colin Walters <walters verbum org>
Date:   Fri Jan 16 13:03:10 2015 -0500

    cmdline: (cleanup) Add internal helper to parse key=value options
    
    This will be used by a later "ostree admin set-origin" as well.

 src/ostree/ot-builtin-remote.c |   21 ++-------------------
 src/ostree/ot-tool-util.c      |   18 ++++++++++++++++++
 src/ostree/ot-tool-util.h      |    5 +++++
 3 files changed, 25 insertions(+), 19 deletions(-)
---
diff --git a/src/ostree/ot-builtin-remote.c b/src/ostree/ot-builtin-remote.c
index aa40122..8cc4ad3 100644
--- a/src/ostree/ot-builtin-remote.c
+++ b/src/ostree/ot-builtin-remote.c
@@ -25,6 +25,7 @@
 #include "ot-main.h"
 #include "ot-builtins.h"
 #include "ostree.h"
+#include "ot-tool-util.h"
 #include "otutil.h"
 
 static void
@@ -35,24 +36,6 @@ usage_error (GOptionContext *context, const char *message, GError **error)
   g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_FAILED, message);
 }
 
-static gboolean
-parse_keyvalue (const char  *keyvalue,
-                char       **out_key,
-                char       **out_value,
-                GError     **error)
-{
-  const char *eq = strchr (keyvalue, '=');
-  if (!eq)
-    {
-      g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
-                   "Missing '=' in KEY=VALUE for --set");
-      return FALSE;
-    }
-  *out_key = g_strndup (keyvalue, eq - keyvalue);
-  *out_value = g_strdup (eq + 1);
-  return TRUE;
-}
-
 static char **opt_set;
 static gboolean opt_no_gpg_verify;
 static gboolean opt_if_not_exists;
@@ -114,7 +97,7 @@ ostree_remote_builtin_add (int argc, char **argv, GCancellable *cancellable, GEr
       gs_free char *subkey = NULL;
       gs_free char *subvalue = NULL;
 
-      if (!parse_keyvalue (keyvalue, &subkey, &subvalue, error))
+      if (!ot_parse_keyvalue (keyvalue, &subkey, &subvalue, error))
         goto out;
 
       g_variant_builder_add (optbuilder, "{s v}",
diff --git a/src/ostree/ot-tool-util.c b/src/ostree/ot-tool-util.c
index fd4bbf9..f4dc8f9 100644
--- a/src/ostree/ot-tool-util.c
+++ b/src/ostree/ot-tool-util.c
@@ -51,3 +51,21 @@ ot_parse_boolean (const char  *option_name,
 
   return TRUE;
 }
+
+gboolean
+ot_parse_keyvalue (const char  *keyvalue,
+                   char       **out_key,
+                   char       **out_value,
+                   GError     **error)
+{
+  const char *eq = strchr (keyvalue, '=');
+  if (!eq)
+    {
+      g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
+                   "Missing '=' in KEY=VALUE for --set");
+      return FALSE;
+    }
+  *out_key = g_strndup (keyvalue, eq - keyvalue);
+  *out_value = g_strdup (eq + 1);
+  return TRUE;
+}
diff --git a/src/ostree/ot-tool-util.h b/src/ostree/ot-tool-util.h
index 201190e..5070dae 100644
--- a/src/ostree/ot-tool-util.h
+++ b/src/ostree/ot-tool-util.h
@@ -30,6 +30,11 @@ ot_parse_boolean (const char  *option_name,
                   const char  *value,
                   gboolean    *out_parsed,
                   GError     **error);
+gboolean
+ot_parse_keyvalue (const char  *keyvalue,
+                   char       **out_key,
+                   char       **out_value,
+                   GError     **error);
 
 G_END_DECLS
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]