diff options
author | James Youngman <jay@gnu.org> | 2011-06-01 11:25:27 +0100 |
---|---|---|
committer | James Youngman <jay@gnu.org> | 2011-06-01 11:25:27 +0100 |
commit | f4171f93f146a71678fd381f628ca2eb2a7b841e (patch) | |
tree | 86268d4902636ec76fbddabb75ab9cdc12148694 | |
parent | d30da49b0026be4c48c612229d022bee8f3e516c (diff) | |
download | findutils-f4171f93f146a71678fd381f628ca2eb2a7b841e.tar.gz |
Better error handling for the result of set_fstype_devno.
* find/fstype.c (file_system_type_uncached): If set_fstype_devno
fails for an entry (that is, the device number stays at -1) don't
consider it a match.
(get_mounted_filesystems): Don't call set_fstype_devno since we
don't need to check the device number.
(get_mounted_devices): If set_fstype_devno fails for a file
system, don't return it.
-rw-r--r-- | ChangeLog | 11 | ||||
-rw-r--r-- | find/fstype.c | 19 |
2 files changed, 22 insertions, 8 deletions
@@ -1,3 +1,14 @@ +2011-06-01 James Youngman <jay@gnu.org> + + Better error handling for the result of set_fstype_devno. + * find/fstype.c (file_system_type_uncached): If set_fstype_devno + fails for an entry (that is, the device number stays at -1) don't + consider it a match. + (get_mounted_filesystems): Don't call set_fstype_devno since we + don't need to check the device number. + (get_mounted_devices): If set_fstype_devno fails for a file + system, don't return it. + 2011-05-31 James Youngman <jay@gnu.org> import-gnulib.sh now stops if it sees the old directory layout. diff --git a/find/fstype.c b/find/fstype.c index 3a3985f3..fc8c09ca 100644 --- a/find/fstype.c +++ b/find/fstype.c @@ -235,11 +235,13 @@ file_system_type_uncached (const struct stat *statp, const char *path) if (!strcmp (entry->me_type, MNTTYPE_IGNORE)) continue; #endif - set_fstype_devno (entry); - if (entry->me_dev == statp->st_dev) + if (0 == set_fstype_devno (entry)) { - type = xstrdup (entry->me_type); - break; + if (entry->me_dev == statp->st_dev) + { + type = xstrdup (entry->me_type); + break; + } } } free_file_system_list (entries); @@ -269,7 +271,6 @@ get_mounted_filesystems (void) if (!strcmp (entry->me_type, MNTTYPE_IGNORE)) continue; #endif - set_fstype_devno (entry); len = strlen (entry->me_mountdir) + 1; p = extendbuf (result, used+len, &alloc_size); @@ -312,9 +313,11 @@ get_mounted_devices (size_t *n) if (p) { result = p; - set_fstype_devno (entry); - result[used] = entry->me_dev; - ++used; + if (0 == set_fstype_devno (entry)) + { + result[used] = entry->me_dev; + ++used; + } } else { |