/* fsusage.c -- return space usage of mounted filesystems
- Copyright (C) 1991, 1992, 1996, 1998, 1999, 2002 Free Software
- Foundation, Inc.
+
+ Copyright (C) 1991, 1992, 1996, 1998, 1999, 2002, 2003 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
#include <sys/stat.h>
#include "fsusage.h"
-#if HAVE_LIMITS_H
-# include <limits.h>
-#endif
-#ifndef CHAR_BIT
-# define CHAR_BIT 8
-#endif
-
-int statfs ();
+#include <limits.h>
#if HAVE_SYS_PARAM_H
# include <sys/param.h>
int statvfs ();
#endif
+#include "full-read.h"
+
/* Many space usage primitives use all 1 bits to denote a value that is
not applicable or unknown. Propagate this information by returning
a uintmax_t value that is all 1 bits if X is all 1 bits, even if X
otherwise, use PROPAGATE_ALL_ONES. */
#define PROPAGATE_TOP_BIT(x) ((x) | ~ (EXTRACT_TOP_BIT (x) - 1))
-int safe_read ();
-
/* Fill in the fields of FSP with information about space usage for
the filesystem on which PATH resides.
DISK is the device on which PATH is mounted, for space-getting
if (fd < 0)
return -1;
lseek (fd, (off_t) SUPERBOFF, 0);
- if (safe_read (fd, (char *) &fsd, sizeof fsd) != sizeof fsd)
+ if (full_read (fd, (char *) &fsd, sizeof fsd) != sizeof fsd)
{
close (fd);
return -1;