projects
/
gnulib.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
New module 'dummy'.
[gnulib.git]
/
lib
/
fsusage.c
diff --git
a/lib/fsusage.c
b/lib/fsusage.c
index
85d3a2f
..
d926029
100644
(file)
--- a/
lib/fsusage.c
+++ b/
lib/fsusage.c
@@
-1,5
+1,7
@@
/* fsusage.c -- return space usage of mounted filesystems
/* fsusage.c -- return space usage of mounted filesystems
- Copyright (C) 1991, 1992, 1996, 1998, 1999 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
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
@@
-34,14
+36,7
@@
#include <sys/stat.h>
#include "fsusage.h"
#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>
#if HAVE_SYS_PARAM_H
# include <sys/param.h>
@@
-59,7
+54,7
@@
int statfs ();
# include <sys/fs/s5param.h>
#endif
# include <sys/fs/s5param.h>
#endif
-#if defined
(HAVE_SYS_FILSYS_H) && !defined (_CRAY)
+#if defined
HAVE_SYS_FILSYS_H && !defined _CRAY
# include <sys/filsys.h> /* SVR2 */
#endif
# include <sys/filsys.h> /* SVR2 */
#endif
@@
-80,6
+75,8
@@
int statfs ();
int statvfs ();
#endif
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
/* 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
@@
-104,8
+101,6
@@
int statvfs ();
otherwise, use PROPAGATE_ALL_ONES. */
#define PROPAGATE_TOP_BIT(x) ((x) | ~ (EXTRACT_TOP_BIT (x) - 1))
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
/* 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
@@
-162,7
+157,7
@@
get_fs_usage (const char *path, const char *disk, struct fs_usage *fsp)
if (fd < 0)
return -1;
lseek (fd, (off_t) SUPERBOFF, 0);
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;
{
close (fd);
return -1;
@@
-232,7
+227,7
@@
get_fs_usage (const char *path, const char *disk, struct fs_usage *fsp)
/* Empirically, the block counts on most SVR3 and SVR3-derived
systems seem to always be in terms of 512-byte blocks,
no matter what value f_bsize has. */
/* Empirically, the block counts on most SVR3 and SVR3-derived
systems seem to always be in terms of 512-byte blocks,
no matter what value f_bsize has. */
-# if _AIX || defined
(_CRAY)
+# if _AIX || defined
_CRAY
fsp->fsu_blocksize = PROPAGATE_ALL_ONES (fsd.f_bsize);
# else
fsp->fsu_blocksize = 512;
fsp->fsu_blocksize = PROPAGATE_ALL_ONES (fsd.f_bsize);
# else
fsp->fsu_blocksize = 512;
@@
-254,7
+249,7
@@
get_fs_usage (const char *path, const char *disk, struct fs_usage *fsp)
#endif /* STAT_STATVFS */
#endif /* STAT_STATVFS */
-#if !defined
(STAT_STATFS2_FS_DATA) && !defined(STAT_READ_FILSYS)
+#if !defined
STAT_STATFS2_FS_DATA && !defined STAT_READ_FILSYS
/* !Ultrix && !SVR2 */
fsp->fsu_blocks = PROPAGATE_ALL_ONES (fsd.f_blocks);
/* !Ultrix && !SVR2 */
fsp->fsu_blocks = PROPAGATE_ALL_ONES (fsd.f_blocks);
@@
-269,7
+264,7
@@
get_fs_usage (const char *path, const char *disk, struct fs_usage *fsp)
return 0;
}
return 0;
}
-#if defined
(_AIX) && defined(_I386)
+#if defined
_AIX && defined _I386
/* AIX PS/2 does not supply statfs. */
int
/* AIX PS/2 does not supply statfs. */
int