]> spindle.queued.net Git - midori/commitdiff
Interprete metadata integer value of -1 as unset also when setting
authorChristian Dywan <christian@twotoasts.de>
Sat, 18 Jul 2009 14:39:42 +0000 (16:39 +0200)
committerChristian Dywan <christian@twotoasts.de>
Sat, 18 Jul 2009 14:40:40 +0000 (16:40 +0200)
katze/katze-item.c

index 30813cfa83912777be74249d6e197d57cbb1754e..d96490cbd7d2d6ff1a2431c3f62d9b344bffdde1 100644 (file)
@@ -574,6 +574,8 @@ katze_item_get_meta_integer (KatzeItem*   item,
  * Saves the specified integer value in the meta data of
  * the item under the specified key.
  *
+ * A value of -1 is intepreted as unset.
+ *
  * Since: 0.1.8
  **/
 void
@@ -584,12 +586,17 @@ katze_item_set_meta_integer (KatzeItem*   item,
     g_return_if_fail (KATZE_IS_ITEM (item));
     g_return_if_fail (key != NULL);
 
-    katze_item_set_meta_data_value (item, key,
-    #ifdef G_GINT64_FORMAT
-        g_strdup_printf ("%" G_GINT64_FORMAT, value));
-    #else
-        g_strdup_printf ("%li", value));
-    #endif
+    if (value == -1)
+        katze_item_set_meta_data_value (item, key, NULL);
+    else
+    {
+        katze_item_set_meta_data_value (item, key,
+        #ifdef G_GINT64_FORMAT
+            g_strdup_printf ("%" G_GINT64_FORMAT, value));
+        #else
+            g_strdup_printf ("%li", value));
+        #endif
+    }
 }
 
 /**