Pass in the right device to vfs->local_file_add_info for symlinks

We used to pass the path for the symlink, but the device of the target
which is wrong and breaks metadata access.

https://bugzilla.gnome.org/show_bug.cgi?id=593809
This commit is contained in:
Alexander Larsson 2009-11-26 16:05:07 +01:00
parent 96f41b6283
commit 2b2195bf68

View File

@ -1432,6 +1432,7 @@ _g_local_file_info_get (const char *basename,
char *symlink_target; char *symlink_target;
GVfs *vfs; GVfs *vfs;
GVfsClass *class; GVfsClass *class;
guint64 device;
info = g_file_info_new (); info = g_file_info_new ();
@ -1483,7 +1484,9 @@ _g_local_file_info_get (const char *basename,
g_free (display_name); g_free (display_name);
return NULL; return NULL;
} }
device = statbuf.st_dev;
#ifdef S_ISLNK #ifdef S_ISLNK
is_symlink = S_ISLNK (statbuf.st_mode); is_symlink = S_ISLNK (statbuf.st_mode);
#else #else
@ -1711,7 +1714,7 @@ _g_local_file_info_get (const char *basename,
{ {
class->local_file_add_info (vfs, class->local_file_add_info (vfs,
path, path,
statbuf.st_dev, device,
attribute_matcher, attribute_matcher,
info, info,
NULL, NULL,