gvfs r2305 - in trunk: . daemon



Author: alexl
Date: Mon Mar  9 14:04:28 2009
New Revision: 2305
URL: http://svn.gnome.org/viewvc/gvfs?rev=2305&view=rev

Log:
2009-03-09  Alexander Larsson  <alexl redhat com>

	Bug 551683 â archive backend says file doesn't exist for directories

        * daemon/gvfsbackendarchive.c:
        (do_open_for_read):
	Return G_IO_ERROR_IS_DIRECTORY if opening directory.



Modified:
   trunk/ChangeLog
   trunk/daemon/gvfsbackendarchive.c

Modified: trunk/daemon/gvfsbackendarchive.c
==============================================================================
--- trunk/daemon/gvfsbackendarchive.c	(original)
+++ trunk/daemon/gvfsbackendarchive.c	Mon Mar  9 14:04:28 2009
@@ -603,7 +603,26 @@
   GVfsArchive *archive;
   struct archive_entry *entry;
   int result;
+  ArchiveFile *file;
 
+  file = archive_file_find (ba, filename);
+  if (file == NULL)
+    {
+      g_vfs_job_failed (G_VFS_JOB (job),
+		        G_IO_ERROR,
+			G_IO_ERROR_NOT_FOUND,
+			_("File doesn't exist"));
+      return;
+    }
+
+  if (g_file_info_get_file_type (file->info) == G_FILE_TYPE_DIRECTORY)
+    {
+      g_vfs_job_failed (G_VFS_JOB (job), G_IO_ERROR,
+			G_IO_ERROR_IS_DIRECTORY,
+			_("Can't open directory"));
+      return;
+    }
+  
   archive = gvfs_archive_new (ba, G_VFS_JOB (job));
 
   do



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