]> rtime.felk.cvut.cz Git - sojka/lightdm.git/commitdiff
lightdm-set-default: Don't set a value if asked to --remove a key that doesn't exist
authorChristopher James Halse Rogers <raof@ubuntu.com>
Thu, 13 Jun 2013 01:33:11 +0000 (11:33 +1000)
committerChristopher James Halse Rogers <raof@ubuntu.com>
Thu, 13 Jun 2013 01:33:11 +0000 (11:33 +1000)
utils/lightdm-set-defaults.c

index b4a7d9597b769f266656ace1db2b6665391f9f38..3914116fadbf66b3b76b3f6c5243ef3e561a2e00 100644 (file)
@@ -101,30 +101,28 @@ update_string(const gchar *default_value,
 {
     gboolean success = TRUE;
         
-    if (!(default_value) || (strlen(default_value) < 1)) {
+    if (remove) {
+        if (g_strcmp0 (default_value, new_value) == 0) {
+            g_debug ("Remove %s as default value for %s", default_value, key_name);
+            g_key_file_set_string (keyfile, key_group, key_name, "");
+            if (!success)
+                return(2);
+            return(0);
+        }
+        g_debug ("Can't remove: %s is not the default value for %s", default_value, key_name);
+        return(4);
+    }
+    else if (!(default_value) || (strlen(default_value) < 1)) {
         g_debug ("No existing valid value for %s. Set to %s", key_name, new_value);
         g_key_file_set_string (keyfile, key_group, key_name, new_value);
     }
     else {
-        if (remove) {
-            if (g_strcmp0 (default_value, new_value) == 0) {
-                g_debug ("Remove %s as default value for %s", default_value, key_name);
-                g_key_file_set_string (keyfile, key_group, key_name, "");
-                if (!success)
-                    return(2);
-                return(0);
-            }
-            g_debug ("Can't remove: %s is not the default value for %s", default_value, key_name);
-            return(4);
-        }
+        g_debug ("Found existing default value(%s) for %s", default_value, key_name);
+        if (keep_old)
+            g_debug ("keep-old mode: keep previous default value");
         else {
-            g_debug ("Found existing default value(%s) for %s", default_value, key_name);
-            if (keep_old)
-                g_debug ("keep-old mode: keep previous default value");
-            else {
-                g_debug ("Update to %s for %s", new_value, key_name);
-                g_key_file_set_string (keyfile, key_group, key_name, new_value);
-            }
+            g_debug ("Update to %s for %s", new_value, key_name);
+            g_key_file_set_string (keyfile, key_group, key_name, new_value);
         }
     }
     if (!success)