[gvfs] afp: set etag from mod time and fix bug when retreiving afp::children-count
- From: Christian Kellner <gicmo src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gvfs] afp: set etag from mod time and fix bug when retreiving afp::children-count
- Date: Thu, 25 Aug 2011 19:28:36 +0000 (UTC)
commit 4b9d6b51418d6885ff9db01d9fa9b1e707fd8d1c
Author: Carl-Anton Ingmarsson <ca ingmarsson gmail com>
Date: Wed Aug 3 00:15:26 2011 +0200
afp: set etag from mod time and fix bug when retreiving afp::children-count
daemon/gvfsbackendafp.c | 17 +++++++++++++----
1 files changed, 13 insertions(+), 4 deletions(-)
---
diff --git a/daemon/gvfsbackendafp.c b/daemon/gvfsbackendafp.c
index 161bf45..0f5e2b1 100644
--- a/daemon/gvfsbackendafp.c
+++ b/daemon/gvfsbackendafp.c
@@ -290,10 +290,18 @@ static void fill_info (GVfsBackendAfp *afp_backend,
if (bitmap & AFP_FILEDIR_BITMAP_MOD_DATE_BIT)
{
gint32 mod_date;
+ guint64 mod_date_unix;
+ char *etag;
g_vfs_afp_reply_read_int32 (reply, &mod_date);
+ mod_date_unix = mod_date + afp_backend->time_diff;
+
g_file_info_set_attribute_uint64 (info, G_FILE_ATTRIBUTE_TIME_MODIFIED,
- mod_date + afp_backend->time_diff);
+ mod_date_unix);
+
+ etag = g_strdup_printf ("%"G_GUINT64_FORMAT, mod_date_unix);
+ g_file_info_set_attribute_string (info, G_FILE_ATTRIBUTE_ETAG_VALUE, etag);
+ g_free (etag);
}
if (bitmap & AFP_FILEDIR_BITMAP_NODE_ID_BIT)
@@ -309,9 +317,9 @@ static void fill_info (GVfsBackendAfp *afp_backend,
{
if (bitmap & AFP_DIR_BITMAP_OFFSPRING_COUNT_BIT)
{
- guint32 offspring_count;
+ guint16 offspring_count;
- g_vfs_afp_reply_read_uint32 (reply, &offspring_count);
+ g_vfs_afp_reply_read_uint16 (reply, &offspring_count);
g_file_info_set_attribute_uint32 (info, G_FILE_ATTRIBUTE_AFP_CHILDREN_COUNT,
offspring_count);
}
@@ -2671,7 +2679,8 @@ create_filedir_bitmap (GVfsBackendAfp *afp_backend, GFileAttributeMatcher *match
if (g_file_attribute_matcher_matches (matcher, G_FILE_ATTRIBUTE_TIME_CREATED))
bitmap |= AFP_FILEDIR_BITMAP_CREATE_DATE_BIT;
- if (g_file_attribute_matcher_matches (matcher, G_FILE_ATTRIBUTE_TIME_MODIFIED))
+ if (g_file_attribute_matcher_matches (matcher, G_FILE_ATTRIBUTE_TIME_MODIFIED) ||
+ g_file_attribute_matcher_matches (matcher, G_FILE_ATTRIBUTE_ETAG_VALUE))
bitmap |= AFP_FILEDIR_BITMAP_MOD_DATE_BIT;
if (g_file_attribute_matcher_matches (matcher, G_FILE_ATTRIBUTE_UNIX_MODE) ||
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]