gnome-vfs code freeze break request - ftp symlinks



We finally have a basically working ftp method in gnome 2.8, however it
seems symlinks still didn't work right, which is especially nasty, since
ftp.gnome.org uses them a lot. Without fixing this you can't browse the
gnome sources using nautilus/gnome-vfs.

The patch (below) is quite simple and very localized, can I commit?

Index: modules/ftp-method.c
===================================================================
RCS file: /cvs/gnome/gnome-vfs/modules/ftp-method.c,v
retrieving revision 1.107
diff -u -p -r1.107 ftp-method.c
--- modules/ftp-method.c	13 Aug 2004 12:22:14 -0000	1.107
+++ modules/ftp-method.c	3 Sep 2004 10:18:23 -0000
@@ -2294,6 +2294,7 @@ do_get_file_info (GnomeVFSMethod *method
 		}
 
 		while (1) {
+			gnome_vfs_file_info_clear (file_info);
 			result = do_read_directory (method, method_handle, 
 						    file_info, context);
 			if (result != GNOME_VFS_OK) {
@@ -2509,7 +2510,7 @@ do_read_directory (GnomeVFSMethod *metho
 			GnomeVFSResult res;
 			int n_symlinks;
 
-			uri = gnome_vfs_uri_ref (handle->uri);
+			uri = gnome_vfs_uri_append_file_name (handle->uri, file_info->name);
 			symlink_info = gnome_vfs_file_info_dup (file_info);
 			n_symlinks = 0;
 			
@@ -2557,6 +2558,10 @@ do_read_directory (GnomeVFSMethod *metho
 				
 				gnome_vfs_file_info_clear (file_info);
 				gnome_vfs_file_info_copy (file_info, symlink_info);
+
+				GNOME_VFS_FILE_INFO_SET_SYMLINK (file_info, TRUE);
+				file_info->valid_fields |= GNOME_VFS_FILE_INFO_FIELDS_SYMLINK_NAME;
+				file_info->symlink_name = gnome_vfs_unescape_string (uri->text, "/");
 				
 				g_free (file_info->name);
 				file_info->name = real_name;


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 Alexander Larsson                                            Red Hat, Inc 
                   alexl redhat com    alla lysator liu se 
He's an underprivileged soccer-playing cat burglar who knows the secret of the 
alien invasion. She's a time-travelling Bolivian doctor with the power to see 
death. They fight crime! 




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]