diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/e2p/ChangeLog | 8 | ||||
-rw-r--r-- | lib/e2p/fgetflags.c | 28 | ||||
-rw-r--r-- | lib/e2p/fgetversion.c | 6 | ||||
-rw-r--r-- | lib/e2p/fsetflags.c | 22 | ||||
-rw-r--r-- | lib/e2p/fsetversion.c | 6 | ||||
-rw-r--r-- | lib/e2p/getflags.c | 28 | ||||
-rw-r--r-- | lib/e2p/getversion.c | 5 | ||||
-rw-r--r-- | lib/e2p/setflags.c | 21 | ||||
-rw-r--r-- | lib/e2p/setversion.c | 5 |
9 files changed, 75 insertions, 54 deletions
diff --git a/lib/e2p/ChangeLog b/lib/e2p/ChangeLog index 28f56988..e05fe2e2 100644 --- a/lib/e2p/ChangeLog +++ b/lib/e2p/ChangeLog @@ -1,3 +1,11 @@ +Mon Mar 9 08:05:30 1998 Theodore Ts'o <tytso@rsts-11.mit.edu> + + * fgetflags.c, fgetversion.c, fsetflags.c, fsetversion.c, + getflags.c, getversion.c, setflags.c, setversion.c: + The ext2 version and flags ioctl's take an int *, not a + long *. Fix library to use the correct type, so we don't + have problems on the Alpha. + Tue Jun 17 01:33:20 1997 Theodore Ts'o <tytso@rsts-11.mit.edu> * Release of E2fsprogs 1.11 diff --git a/lib/e2p/fgetflags.c b/lib/e2p/fgetflags.c index f01de269..bb3fd2e9 100644 --- a/lib/e2p/fgetflags.c +++ b/lib/e2p/fgetflags.c @@ -32,35 +32,35 @@ int fgetflags (const char * name, unsigned long * flags) { #if HAVE_STAT_FLAGS - struct stat buf; + struct stat buf; - if (stat (name, &buf) == -1) - return -1; + if (stat (name, &buf) == -1) + return -1; - *flags = 0; + *flags = 0; #ifdef UF_IMMUTABLE - if (buf.st_flags & UF_IMMUTABLE) - *flags |= EXT2_IMMUTABLE_FL; + if (buf.st_flags & UF_IMMUTABLE) + *flags |= EXT2_IMMUTABLE_FL; #endif #ifdef UF_APPEND - if (buf.st_flags & UF_APPEND) - *flags |= EXT2_APPEND_FL; + if (buf.st_flags & UF_APPEND) + *flags |= EXT2_APPEND_FL; #endif #ifdef UF_NODUMP - if (buf.st_flags & UF_NODUMP) - *flags |= EXT2_NODUMP_FL; + if (buf.st_flags & UF_NODUMP) + *flags |= EXT2_NODUMP_FL; #endif - return 0; + return 0; #else #if HAVE_EXT2_IOCTLS - int fd; - int r; + int fd, r, f; fd = open (name, O_RDONLY|O_NONBLOCK); if (fd == -1) return -1; - r = ioctl (fd, EXT2_IOC_GETFLAGS, flags); + r = ioctl (fd, EXT2_IOC_GETFLAGS, &f); + *flags = f; close (fd); return r; diff --git a/lib/e2p/fgetversion.c b/lib/e2p/fgetversion.c index fea376b0..525081ee 100644 --- a/lib/e2p/fgetversion.c +++ b/lib/e2p/fgetversion.c @@ -28,13 +28,13 @@ int fgetversion (const char * name, unsigned long * version) { #if HAVE_EXT2_IOCTLS - int fd; - int r; + int fd, r, ver; fd = open (name, O_RDONLY|O_NONBLOCK); if (fd == -1) return - 1; - r = ioctl (fd, EXT2_IOC_GETVERSION, version); + r = ioctl (fd, EXT2_IOC_GETVERSION, ver); + *version = ver; close (fd); return r; #else /* ! HAVE_EXT2_IOCTLS */ diff --git a/lib/e2p/fsetflags.c b/lib/e2p/fsetflags.c index 92e558be..5c760832 100644 --- a/lib/e2p/fsetflags.c +++ b/lib/e2p/fsetflags.c @@ -32,31 +32,31 @@ int fsetflags (const char * name, unsigned long flags) { #if HAVE_CHFLAGS - unsigned long bsd_flags = 0; + unsigned long bsd_flags = 0; #ifdef UF_IMMUTABLE - if (flags & EXT2_IMMUTABLE_FL) - bsd_flags |= UF_IMMUTABLE; + if (flags & EXT2_IMMUTABLE_FL) + bsd_flags |= UF_IMMUTABLE; #endif #ifdef UF_APPEND - if (flags & EXT2_APPEND_FL) - bsd_flags |= UF_APPEND; + if (flags & EXT2_APPEND_FL) + bsd_flags |= UF_APPEND; #endif #ifdef UF_NODUMP - if (flags & EXT2_NODUMP_FL) - bsd_flags |= UF_NODUMP; + if (flags & EXT2_NODUMP_FL) + bsd_flags |= UF_NODUMP; #endif - return chflags (name, bsd_flags); + return chflags (name, bsd_flags); #else #if HAVE_EXT2_IOCTLS - int fd; - int r; + int fd, r, f; fd = open (name, O_RDONLY|O_NONBLOCK); if (fd == -1) return -1; - r = ioctl (fd, EXT2_IOC_SETFLAGS, &flags); + f = (int) flags; + r = ioctl (fd, EXT2_IOC_SETFLAGS, &f); close (fd); return r; #else /* ! HAVE_EXT2_IOCTLS */ diff --git a/lib/e2p/fsetversion.c b/lib/e2p/fsetversion.c index 49c7c364..428e6e90 100644 --- a/lib/e2p/fsetversion.c +++ b/lib/e2p/fsetversion.c @@ -28,13 +28,13 @@ int fsetversion (const char * name, unsigned long version) { #if HAVE_EXT2_IOCTLS - int fd; - int r; + int fd, r, ver; fd = open (name, O_RDONLY|O_NONBLOCK); if (fd == -1) return -1; - r = ioctl (fd, EXT2_IOC_SETVERSION, &version); + ver = (int) version; + r = ioctl (fd, EXT2_IOC_SETVERSION, &ver); close (fd); return r; #else /* ! HAVE_EXT2_IOCTLS */ diff --git a/lib/e2p/getflags.c b/lib/e2p/getflags.c index 8c476a37..477cb9bd 100644 --- a/lib/e2p/getflags.c +++ b/lib/e2p/getflags.c @@ -28,29 +28,33 @@ int getflags (int fd, unsigned long * flags) { #if HAVE_STAT_FLAGS - struct stat buf; + struct stat buf; - if (fstat (fd, &buf) == -1) - return -1; + if (fstat (fd, &buf) == -1) + return -1; - *flags = 0; + *flags = 0; #ifdef UF_IMMUTABLE - if (buf.st_flags & UF_IMMUTABLE) - *flags |= EXT2_IMMUTABLE_FL; + if (buf.st_flags & UF_IMMUTABLE) + *flags |= EXT2_IMMUTABLE_FL; #endif #ifdef UF_APPEND - if (buf.st_flags & UF_APPEND) - *flags |= EXT2_APPEND_FL; + if (buf.st_flags & UF_APPEND) + *flags |= EXT2_APPEND_FL; #endif #ifdef UF_NODUMP - if (buf.st_flags & UF_NODUMP) - *flags |= EXT2_NODUMP_FL; + if (buf.st_flags & UF_NODUMP) + *flags |= EXT2_NODUMP_FL; #endif - return 0; + return 0; #else #if HAVE_EXT2_IOCTLS - return ioctl (fd, EXT2_IOC_GETFLAGS, flags); + int r, f; + + r = ioctl (fd, EXT2_IOC_GETFLAGS, &f); + *flags = f; + return r; #else /* ! HAVE_EXT2_IOCTLS */ extern int errno; errno = EOPNOTSUPP; diff --git a/lib/e2p/getversion.c b/lib/e2p/getversion.c index be76b60a..4eb5d4c5 100644 --- a/lib/e2p/getversion.c +++ b/lib/e2p/getversion.c @@ -24,7 +24,10 @@ int getversion (int fd, unsigned long * version) { #if HAVE_EXT2_IOCTLS - return ioctl (fd, EXT2_IOC_GETVERSION, version); + int r, ver; + + r = ioctl (fd, EXT2_IOC_GETVERSION, &ver); + *version = ver; #else /* ! HAVE_EXT2_IOCTLS */ extern int errno; errno = EOPNOTSUPP; diff --git a/lib/e2p/setflags.c b/lib/e2p/setflags.c index 654ec9dc..2bf47fa2 100644 --- a/lib/e2p/setflags.c +++ b/lib/e2p/setflags.c @@ -29,25 +29,28 @@ int setflags (int fd, unsigned long flags) { #if HAVE_CHFLAGS - unsigned long bsd_flags = 0; + unsigned long bsd_flags = 0; #ifdef UF_IMMUTABLE - if (flags & EXT2_IMMUTABLE_FL) - bsd_flags |= UF_IMMUTABLE; + if (flags & EXT2_IMMUTABLE_FL) + bsd_flags |= UF_IMMUTABLE; #endif #ifdef UF_APPEND - if (flags & EXT2_APPEND_FL) - bsd_flags |= UF_APPEND; + if (flags & EXT2_APPEND_FL) + bsd_flags |= UF_APPEND; #endif #ifdef UF_NODUMP - if (flags & EXT2_NODUMP_FL) - bsd_flags |= UF_NODUMP; + if (flags & EXT2_NODUMP_FL) + bsd_flags |= UF_NODUMP; #endif - return fchflags (fd, bsd_flags); + return fchflags (fd, bsd_flags); #else #if HAVE_EXT2_IOCTLS - return ioctl (fd, EXT2_IOC_SETFLAGS, &flags); + int f; + + f = (int) flags; + return ioctl (fd, EXT2_IOC_SETFLAGS, &f); #else /* ! HAVE_EXT2_IOCTLS */ extern int errno; errno = EOPNOTSUPP; diff --git a/lib/e2p/setversion.c b/lib/e2p/setversion.c index 3210f514..bd00df66 100644 --- a/lib/e2p/setversion.c +++ b/lib/e2p/setversion.c @@ -24,7 +24,10 @@ int setversion (int fd, unsigned long version) { #if HAVE_EXT2_IOCTLS - return ioctl (fd, EXT2_IOC_SETVERSION, &version); + int ver; + + ver = (int) version; + return ioctl (fd, EXT2_IOC_SETVERSION, &ver); #else /* ! HAVE_EXT2_IOCTLS */ extern int errno; errno = EOPNOTSUPP; |