From d884e509db1ab6a6d388313d28b7b07cebb3dfc0 Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Thu, 25 Jun 2009 09:18:01 +0200 Subject: [PATCH] Allow setting G_FILE_ATTRIBUTE_TYPE_INVALID attributes in GFileInfo This is used to unset an attribute in g_file_set_attributes_from_info. --- gio/gfileattribute.c | 7 +++++++ gio/gfileinfo.c | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gio/gfileattribute.c b/gio/gfileattribute.c index 671c7ccae..4fb6ffa0a 100644 --- a/gio/gfileattribute.c +++ b/gio/gfileattribute.c @@ -461,6 +461,9 @@ _g_file_attribute_value_as_string (const GFileAttributeValue *attr) ((GTypeInstance *) attr->u.obj), attr->u.obj); break; + case G_FILE_ATTRIBUTE_TYPE_INVALID: + str = g_strdup (""); + break; default: g_warning ("Invalid type in GFileInfo attribute"); str = g_strdup (""); @@ -693,6 +696,10 @@ _g_file_attribute_value_set_from_pointer (GFileAttributeValue *value, case G_FILE_ATTRIBUTE_TYPE_INT64: value->u.int64 = *(gint64 *)value_p; break; + + case G_FILE_ATTRIBUTE_TYPE_INVALID: + break; + default: g_warning ("Unknown type specified in g_file_info_set_attribute\n"); break; diff --git a/gio/gfileinfo.c b/gio/gfileinfo.c index aed797542..2785a108a 100644 --- a/gio/gfileinfo.c +++ b/gio/gfileinfo.c @@ -566,7 +566,7 @@ g_file_info_list_attributes (GFileInfo *info, * Gets the attribute type for an attribute key. * * Returns: a #GFileAttributeType for the given @attribute, or - * %G_FILE_ATTRIBUTE_TYPE_INVALID if the key is invalid. + * %G_FILE_ATTRIBUTE_TYPE_INVALID if the key is not set. **/ GFileAttributeType g_file_info_get_attribute_type (GFileInfo *info,