aboutsummaryrefslogtreecommitdiff
path: root/x11-fm/nautilus/files/patch-ac
diff options
context:
space:
mode:
Diffstat (limited to 'x11-fm/nautilus/files/patch-ac')
-rw-r--r--x11-fm/nautilus/files/patch-ac152
1 files changed, 152 insertions, 0 deletions
diff --git a/x11-fm/nautilus/files/patch-ac b/x11-fm/nautilus/files/patch-ac
new file mode 100644
index 000000000000..708c7d4175cd
--- /dev/null
+++ b/x11-fm/nautilus/files/patch-ac
@@ -0,0 +1,152 @@
+--- libnautilus-extensions/nautilus-volume-monitor.c.orig Thu Aug 3 17:15:57 2000
++++ libnautilus-extensions/nautilus-volume-monitor.c Tue Aug 22 17:45:07 2000
+@@ -22,6 +22,9 @@
+ Authors: Gene Z. Ragan <gzr@eazel.com>
+ */
+
++#include <sys/param.h>
++#include <sys/mount.h>
++
+ #include <config.h>
+
+ #include <errno.h>
+@@ -31,7 +34,6 @@
+ #include <gnome.h>
+ #include <libgnome/gnome-i18n.h>
+ #include <libgnomevfs/gnome-vfs.h>
+-#include <mntent.h>
+ #include <libnautilus-extensions/nautilus-cdrom-extensions.h>
+ #include <libnautilus-extensions/nautilus-directory-private.h>
+ #include <libnautilus-extensions/nautilus-file-utilities.h>
+@@ -48,6 +50,11 @@
+ #include <sys/types.h>
+ #include <xmlmemory.h>
+
++#undef MOUNT_TYPE_ISO9660
++#define MOUNT_TYPE_ISO9660 "cd9660"
++#undef MOUNT_TYPE_EXT2
++#define MOUNT_TYPE_EXT2 "ufs" /* really ufs */
++#define _PATH_MOUNTED "/etc/fstab"
+
+ /* FIXME: Remove messages when this code is done. */
+ #define MESSAGE g_message
+@@ -91,7 +98,7 @@
+ DeviceInfo *device);
+ static void mount_device_activate_floppy (NautilusVolumeMonitor *view,
+ DeviceInfo *device);
+-static gboolean mntent_is_removable_fs (struct mntent *ent);
++static gboolean mntent_is_removable_fs (struct fstab *ent);
+ static void free_device_info (DeviceInfo *device,
+ NautilusVolumeMonitor *monitor);
+ static gboolean add_mount_link_property (const char *path);
+@@ -197,21 +204,19 @@
+ fm_desktop_get_removable_volume_list (void)
+ {
+ GList *list;
+- FILE *mef;
+- struct mntent *ent;
++ struct fstab *ent;
+
+ list = NULL;
+
+- mef = setmntent (_PATH_FSTAB, "r");
+- g_return_val_if_fail (mef, NULL);
++ setfsent();
+
+- while ((ent = getmntent (mef))) {
++ while ((ent = getfsent ())) {
+ if (mntent_is_removable_fs (ent)) {
+- list = g_list_append (list, g_strdup (ent->mnt_dir));
++ list = g_list_append (list, g_strdup (ent->fs_file));
+ continue;
+ }
+ }
+- endmntent (mef);
++ endfsent ();
+
+ /* Move all floppy mounts to top of list */
+ list = g_list_sort (list, (GCompareFunc) floppy_sort);
+@@ -754,7 +759,7 @@
+
+
+ static void
+-add_mount_device (NautilusVolumeMonitor *monitor, struct mntent *ent)
++add_mount_device (NautilusVolumeMonitor *monitor, struct fstab *ent)
+ {
+ DeviceInfo *newdev = NULL;
+ gboolean mounted;
+@@ -762,23 +767,23 @@
+ newdev = g_new0 (DeviceInfo, 1);
+ g_assert (newdev);
+ newdev->device_fd = -1;
+- newdev->fsname = g_strdup (ent->mnt_fsname);
+- newdev->mount_path = g_strdup (ent->mnt_dir);
++ newdev->fsname = g_strdup (ent->fs_spec);
++ newdev->mount_path = g_strdup (ent->fs_file);
+ newdev->volume_name = NULL;
+ newdev->link_uri = NULL;
+ newdev->state = STATE_EMPTY;
+
+ mounted = FALSE;
+
+- if (strcmp (ent->mnt_type, MOUNT_TYPE_ISO9660) == 0) {
++ if (strcmp (ent->fs_type, MOUNT_TYPE_ISO9660) == 0) {
+ mounted = mount_device_iso9660_add (monitor, newdev);
+- } else if (strncmp (ent->mnt_fsname, "/dev/fd", strlen("/dev/fd")) == 0) {
++ } else if (strncmp (ent->fs_file, "/dev/fd", strlen("/dev/fd")) == 0) {
+ mounted = mount_device_floppy_add (monitor, newdev);
+- } else if (strcmp (ent->mnt_type, MOUNT_TYPE_EXT2) == 0) {
++ } else if (strcmp (ent->fs_type, MOUNT_TYPE_EXT2) == 0) {
+ mounted = mount_device_ext2_add (newdev);
+ } else {
+ /* FIXME: Is this a reasonable way to report this error? */
+- MESSAGE ("Unknown file system: %s", ent->mnt_type);
++ MESSAGE ("Unknown file system: %s", ent->fs_type);
+ }
+
+ if (mounted) {
+@@ -794,13 +799,13 @@
+ }
+
+ static gboolean
+-mntent_is_removable_fs (struct mntent *ent)
++mntent_is_removable_fs (struct fstab *ent)
+ {
+- if (strcmp (ent->mnt_type, MOUNT_TYPE_ISO9660) == 0) {
++ if (strcmp (ent->fs_type, MOUNT_TYPE_ISO9660) == 0) {
+ return TRUE;
+ }
+
+- if (strncmp (ent->mnt_fsname, "/dev/fd", strlen("/dev/fd")) == 0) {
++ if (strncmp (ent->fs_file, "/dev/fd", strlen("/dev/fd")) == 0) {
+ return TRUE;
+ }
+
+@@ -833,14 +838,12 @@
+ void
+ nautilus_volume_monitor_find_mount_devices (NautilusVolumeMonitor *monitor)
+ {
+- FILE *mef;
+- struct mntent *ent;
++ struct fstab *ent;
+
+- mef = setmntent (_PATH_MNTTAB, "r");
+- g_return_if_fail (mef);
++ setfsent ();
+
+- while ((ent = getmntent (mef))) {
+- MESSAGE ("Checking device %s", ent->mnt_fsname);
++ while ((ent = getfsent ())) {
++ MESSAGE ("Checking device %s", ent->fs_spec);
+
+ #if 0
+ /* Think some more about these checks */
+@@ -859,7 +862,7 @@
+ }
+
+
+- endmntent (mef);
++ endfsent ();
+
+ g_list_foreach (monitor->details->devices, (GFunc) mount_device_set_state, monitor);
+