summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>1996-11-28 19:37:01 +0000
committerJim Meyering <jim@meyering.net>1996-11-28 19:37:01 +0000
commitbcb86109777b747f0ccd90b2caf0ecb054bfcbbe (patch)
tree0dfc496699316583fc709a8e4801a89ac5936d0b /lib
parentac66871c659f2c6e599a6acab60c2a4b63e2bce5 (diff)
downloadcoreutils-bcb86109777b747f0ccd90b2caf0ecb054bfcbbe.tar.xz
(get_fs_usage): If DISK is 0 and we needed to use
it, return -1 with 0 in ERRNO. From Miles.
Diffstat (limited to 'lib')
-rw-r--r--lib/fsusage.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/lib/fsusage.c b/lib/fsusage.c
index d9d5234bd..e90abf94d 100644
--- a/lib/fsusage.c
+++ b/lib/fsusage.c
@@ -1,5 +1,5 @@
/* fsusage.c -- return space usage of mounted filesystems
- Copyright (C) 1991, 1992 Free Software Foundation, Inc.
+ Copyright (C) 1991, 1992, 1996 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
@@ -90,8 +90,9 @@ adjust_blocks (blocks, fromsize, tosize)
the filesystem on which PATH resides.
DISK is the device on which PATH is mounted, for space-getting
methods that need to know it.
- Return 0 if successful, -1 if not. */
-
+ Return 0 if successful, -1 if not. When returning -1, ensure that
+ ERRNO is either a system error value, or zero if DISK is NULL
+ on a system that requires a non-NULL value. */
int
get_fs_usage (path, disk, fsp)
const char *path;
@@ -133,6 +134,12 @@ get_fs_usage (path, disk, fsp)
struct filsys fsd;
int fd;
+ if (! disk)
+ {
+ errno = 0;
+ return -1;
+ }
+
fd = open (disk, O_RDONLY);
if (fd < 0)
return -1;