keyfile: Add "in group" to GError message consistently
authorColin Walters <walters@verbum.org>
Sun, 7 Dec 2014 21:00:55 +0000 (16:00 -0500)
committerColin Walters <walters@verbum.org>
Mon, 8 Dec 2014 03:00:41 +0000 (22:00 -0500)
This originated with https://github.com/GNOME/ostree/pull/23
It's nicer for the user if we also mention which group the expected
key would be in.

And in fact, every other error *except* _get_value() already had it.

https://bugzilla.gnome.org/show_bug.cgi?id=741226

glib/gkeyfile.c

index cc51eda690eaf9afea04a3475e4bb10e7cc9f580..ed5ae2140973bc79472c15ba914ad88317255f97 100644 (file)
@@ -1648,6 +1648,17 @@ g_key_file_get_groups (GKeyFile *key_file,
   return groups;
 }
 
+static void
+set_not_found_key_error (const char *group_name,
+                         const char *key,
+                         GError    **error)
+{
+  g_set_error (error, G_KEY_FILE_ERROR,
+               G_KEY_FILE_ERROR_KEY_NOT_FOUND,
+               _("Key file does not have key '%s' in group '%s'"),
+               key, group_name);
+}
+
 /**
  * g_key_file_get_value:
  * @key_file: a #GKeyFile
@@ -1699,9 +1710,7 @@ g_key_file_get_value (GKeyFile     *key_file,
   if (pair)
     value = g_strdup (pair->value);
   else
-    g_set_error (error, G_KEY_FILE_ERROR,
-                 G_KEY_FILE_ERROR_KEY_NOT_FOUND,
-                 _("Key file does not have key '%s'"), key);
+    set_not_found_key_error (group_name, key, error);
 
   return value;
 }
@@ -3082,10 +3091,7 @@ g_key_file_set_key_comment (GKeyFile     *key_file,
 
   if (key_node == NULL)
     {
-      g_set_error (error, G_KEY_FILE_ERROR,
-                   G_KEY_FILE_ERROR_KEY_NOT_FOUND,
-                   _("Key file does not have key '%s' in group '%s'"),
-                   key, group->name);
+      set_not_found_key_error (group->name, key, error);
       return FALSE;
     }
 
@@ -3274,10 +3280,7 @@ g_key_file_get_key_comment (GKeyFile     *key_file,
 
   if (key_node == NULL)
     {
-      g_set_error (error, G_KEY_FILE_ERROR,
-                   G_KEY_FILE_ERROR_KEY_NOT_FOUND,
-                   _("Key file does not have key '%s' in group '%s'"),
-                   key, group->name);
+      set_not_found_key_error (group->name, key, error);
       return NULL;
     }
 
@@ -3841,10 +3844,7 @@ g_key_file_remove_key (GKeyFile     *key_file,
 
   if (!pair)
     {
-      g_set_error (error, G_KEY_FILE_ERROR,
-                   G_KEY_FILE_ERROR_KEY_NOT_FOUND,
-                   _("Key file does not have key '%s' in group '%s'"),
-                  key, group->name);
+      set_not_found_key_error (group->name, key, error);
       return FALSE;
     }