diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | posix/TESTS | 8 | ||||
-rw-r--r-- | posix/testcases.h | 8 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/fstatvfs.c | 3 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/internal_statvfs.c | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/statvfs.c | 13 |
6 files changed, 23 insertions, 14 deletions
@@ -1,5 +1,8 @@ 2000-01-18 Ulrich Drepper <drepper@cygnus.com> + * posix/TESTS: Fix expected result for test cases with * with no + leading expression. + * sysdeps/unix/sysv/linux/fstatvfs.c: Move actual code in... * sysdeps/unix/sysv/linux/internal_statvfs.c: ...here. New file. * sysdeps/unix/sysv/linux/statvfs.c: Don't use fstatvfs since the diff --git a/posix/TESTS b/posix/TESTS index 858e223..f2c9886 100644 --- a/posix/TESTS +++ b/posix/TESTS @@ -54,10 +54,10 @@ 0:ab|cd:abcd 0:()ef:def 0:()*:- -1:*a:- -0:^*:- -0:$*:- -1:(*)b:- +2:*a:- +2:^*:- +2:$*:- +2:(*)b:- 1:$b:b 2:a\:- 0:a\(b:a(b diff --git a/posix/testcases.h b/posix/testcases.h index 5f3b389..834f530 100644 --- a/posix/testcases.h +++ b/posix/testcases.h @@ -54,10 +54,10 @@ {0, "ab|cd", "abcd"}, {0, "()ef", "def"}, {0, "()*", "-"}, - {1, "*a", "-"}, - {0, "^*", "-"}, - {0, "$*", "-"}, - {1, "(*)b", "-"}, + {2, "*a", "-"}, + {2, "^*", "-"}, + {2, "$*", "-"}, + {2, "(*)b", "-"}, {1, "$b", "b"}, {2, "a\\", "-"}, {0, "a\\(b", "a(b"}, diff --git a/sysdeps/unix/sysv/linux/fstatvfs.c b/sysdeps/unix/sysv/linux/fstatvfs.c index dbc4c55..b69bf77 100644 --- a/sysdeps/unix/sysv/linux/fstatvfs.c +++ b/sysdeps/unix/sysv/linux/fstatvfs.c @@ -37,8 +37,9 @@ fstatvfs (int fd, struct statvfs *buf) if (__fstatfs (fd, &fsbuf) < 0) return -1; +#define STAT(st) fstat (fd, st) #include "internal_statvfs.c" - + /* We signal success if the statfs call succeeded. */ return 0; } diff --git a/sysdeps/unix/sysv/linux/internal_statvfs.c b/sysdeps/unix/sysv/linux/internal_statvfs.c index 24765dc..2ea380d 100644 --- a/sysdeps/unix/sysv/linux/internal_statvfs.c +++ b/sysdeps/unix/sysv/linux/internal_statvfs.c @@ -40,7 +40,7 @@ file. The way we can test for matching filesystem is using the device number. */ buf->f_flag = 0; - if (fstat (fd, &st) >= 0) + if (STAT (&st) >= 0) { int save_errno = errno; struct mntent mntbuf; diff --git a/sysdeps/unix/sysv/linux/statvfs.c b/sysdeps/unix/sysv/linux/statvfs.c index 9bbe6c2..7f85c9b 100644 --- a/sysdeps/unix/sysv/linux/statvfs.c +++ b/sysdeps/unix/sysv/linux/statvfs.c @@ -18,8 +18,12 @@ Boston, MA 02111-1307, USA. */ #include <errno.h> -#include <fcntl.h> -#include <unistd.h> +#include <mntent.h> +#include <paths.h> +#include <string.h> +#include <sys/mount.h> +#include <sys/stat.h> +#include <sys/statfs.h> #include <sys/statvfs.h> @@ -30,11 +34,12 @@ statvfs (const char *file, struct statvfs *buf) struct stat st; /* Get as much information as possible from the system. */ - if (__statfs (fd, &fsbuf) < 0) + if (__statfs (file, &fsbuf) < 0) return -1; +#define STAT(st) stat (file, st) #include "internal_statvfs.c" - + /* We signal success if the statfs call succeeded. */ return 0; } |