Check for missing 'libntfs' handler.
authorshort <>
Thu, 20 Nov 2003 06:19:31 +0000 (06:19 +0000)
committershort <>
Thu, 20 Nov 2003 06:19:31 +0000 (06:19 +0000)
 - Bugreported by Christian Kristukat.

src/install/acquire/diskscan.c

index fda21a1..e958b3d 100644 (file)
@@ -42,16 +42,26 @@ static void mod_uri_libntfs_proc_partitions_foreach(const gchar *device /* key *
                struct mod_uri_libntfs_proc_partitions_foreach_param *foreach_param /* user_data */)
 {
 GnomeVFSURI *uri_device,*uri_libntfs;
+static gboolean libntfs_warned=FALSE;
 
        g_return_if_fail(device!=NULL);
        g_return_if_fail(vol_name!=NULL);
        g_return_if_fail(foreach_param!=NULL);
 
+       uri_libntfs=gnome_vfs_uri_new("libntfs:///");
+       if (!uri_libntfs) {
+               if (!libntfs_warned) {
+                       libntfs_warned=TRUE;
+                       g_warning(_("'libntfs' GnomeVFS method not supported; install package 'ntfsprogs-gnomevfs' >=%s"),"1.8.0beta2");
+                       }
+               return;
+               }
+       g_assert(uri_libntfs->parent==NULL);
+
        uri_device=gnome_vfs_uri_new("file:///");
+       g_assert(uri_device!=NULL);
        uri_device=gnome_vfs_uri_append_path(uri_device,device);
        g_assert(uri_device->parent==NULL);
-       uri_libntfs=gnome_vfs_uri_new("libntfs:///");
-       g_assert(uri_libntfs->parent==NULL);
 
        uri_libntfs->parent=uri_device;
 
@@ -93,6 +103,7 @@ GnomeVFSURI *uri;
                if (!strcmp(mntent->mnt_type,"proc"))   /* optimize... */
                        continue;
                uri=gnome_vfs_uri_new("file:///");
+               g_assert(uri!=NULL);
                uri=gnome_vfs_uri_append_path(uri,mntent->mnt_dir);
                uri_list=g_list_prepend(uri_list,uri);
                }