projects
/
gnulib.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
*** empty log message ***
[gnulib.git]
/
lib
/
mountlist.c
diff --git
a/lib/mountlist.c
b/lib/mountlist.c
index
852be46
..
6f7d07c
100644
(file)
--- a/
lib/mountlist.c
+++ b/
lib/mountlist.c
@@
-1,5
+1,5
@@
/* mountlist.c -- return a list of mounted filesystems
/* mountlist.c -- return a list of mounted filesystems
- Copyright (C) 1991, 1992, 1997
, 1998, 1999,
2000 Free Software Foundation, Inc.
+ Copyright (C) 1991, 1992, 1997
-
2000 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@
-40,7
+40,6
@@
char *strstr ();
char *xmalloc ();
char *xrealloc ();
char *xstrdup ();
char *xmalloc ();
char *xrealloc ();
char *xstrdup ();
-void error ();
#include <errno.h>
#ifndef errno
#include <errno.h>
#ifndef errno
@@
-85,7
+84,7
@@
extern int errno;
# include <sys/fs_types.h>
#endif
# include <sys/fs_types.h>
#endif
-#ifdef MOUNTED_
NEXT_DEV
/* BeOS. */
+#ifdef MOUNTED_
FS_STAT_DEV
/* BeOS. */
# include <fs_info.h>
# include <dirent.h>
#endif
# include <fs_info.h>
# include <dirent.h>
#endif
@@
-261,7
+260,7
@@
static char *
fsp_to_string (const struct statfs *fsp)
{
# if defined HAVE_F_FSTYPENAME_IN_STATFS
fsp_to_string (const struct statfs *fsp)
{
# if defined HAVE_F_FSTYPENAME_IN_STATFS
- return
fsp->f_fstypename
;
+ return
(char *) (fsp->f_fstypename)
;
# else
return fstype_to_string (fsp->f_type);
# endif
# else
return fstype_to_string (fsp->f_type);
# endif
@@
-418,7
+417,7
@@
read_filesystem_list (int need_fs_type)
}
#endif /* MOUNTED_GETMNT. */
}
#endif /* MOUNTED_GETMNT. */
-#if defined (MOUNTED_
NEX
T_DEV) /* BeOS */
+#if defined (MOUNTED_
FS_STA
T_DEV) /* BeOS */
{
/* The next_dev() and fs_stat_dev() system calls give the list of
all filesystems, including the information returned by statvfs()
{
/* The next_dev() and fs_stat_dev() system calls give the list of
all filesystems, including the information returned by statvfs()
@@
-469,7
+468,7
@@
read_filesystem_list (int need_fs_type)
strcpy (name + 1, d->d_name);
}
strcpy (name + 1, d->d_name);
}
- if (stat (name, &statbuf) >= 0 && S_ISDIR (statbuf.st_mode))
+ if (
l
stat (name, &statbuf) >= 0 && S_ISDIR (statbuf.st_mode))
{
struct rootdir_entry *re;
{
struct rootdir_entry *re;
@@
-521,7
+520,7
@@
read_filesystem_list (int need_fs_type)
free (re);
}
}
free (re);
}
}
-#endif /* MOUNTED_
NEX
T_DEV */
+#endif /* MOUNTED_
FS_STA
T_DEV */
#if defined (MOUNTED_GETFSSTAT) /* __alpha running OSF_1 */
{
#if defined (MOUNTED_GETFSSTAT) /* __alpha running OSF_1 */
{
@@
-725,6
+724,8
@@
read_filesystem_list (int need_fs_type)
for (thisent = entries; thisent < entries + bufsize;
thisent += vmp->vmt_length)
{
for (thisent = entries; thisent < entries + bufsize;
thisent += vmp->vmt_length)
{
+ char *options, *ignore;
+
vmp = (struct vmount *) thisent;
me = (struct mount_entry *) xmalloc (sizeof (struct mount_entry));
if (vmp->vmt_flags & MNT_REMOTE)
vmp = (struct vmount *) thisent;
me = (struct mount_entry *) xmalloc (sizeof (struct mount_entry));
if (vmp->vmt_flags & MNT_REMOTE)
@@
-748,7
+749,12
@@
read_filesystem_list (int need_fs_type)
}
me->me_mountdir = xstrdup (thisent + vmp->vmt_data[VMT_STUB].vmt_off);
me->me_type = xstrdup (fstype_to_string (vmp->vmt_gfstype));
}
me->me_mountdir = xstrdup (thisent + vmp->vmt_data[VMT_STUB].vmt_off);
me->me_type = xstrdup (fstype_to_string (vmp->vmt_gfstype));
- me->me_dummy = ME_DUMMY (me->me_devname, me->me_type);
+ options = thisent + vmp->vmt_data[VMT_ARGS].vmt_off;
+ ignore = strstr (options, "ignore");
+ me->me_dummy = (ignore
+ && (ignore == options || ignore[-1] == ',')
+ && (ignore[sizeof "ignore" - 1] == ','
+ || ignore[sizeof "ignore" - 1] == '\0'));
me->me_dev = (dev_t) -1; /* vmt_fsid might be the info we want. */
/* Add to the linked list. */
me->me_dev = (dev_t) -1; /* vmt_fsid might be the info we want. */
/* Add to the linked list. */