diff options
author | Theodore Ts'o <tytso@mit.edu> | 1998-03-09 13:07:09 +0000 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 1998-03-09 13:07:09 +0000 |
commit | cce382b12c2e0764b91d143ec6f9549c735f8f9e (patch) | |
tree | 5caf2950bfe8089b228b7576a44c1c771aa7a90f | |
parent | dc3710e5ea6bd83addec20f6956bda707438fa92 (diff) | |
download | e2fsprogs-cce382b12c2e0764b91d143ec6f9549c735f8f9e.tar.gz |
ChangeLog, ls.c:
Mask off high 8 bits from dirent->name_len.
Many files:
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.
-rw-r--r-- | debugfs/ChangeLog | 5 | ||||
-rw-r--r-- | debugfs/ls.c | 4 | ||||
-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 |
11 files changed, 82 insertions, 56 deletions
diff --git a/debugfs/ChangeLog b/debugfs/ChangeLog index ce82acf9..2118556b 100644 --- a/debugfs/ChangeLog +++ b/debugfs/ChangeLog @@ -1,3 +1,8 @@ +Sun Mar 8 22:53:04 1998 Theodore Ts'o <tytso@rsts-11.mit.edu> + + * ls.c (list_dir_proc): Mask off high 8 bits from + dirent->name_len. + Mon Dec 1 13:21:09 1997 Theodore Ts'o <tytso@rsts-11.mit.edu> * Makefile.in: Install debugfs in /sbin, instead of /usr/sbin. diff --git a/debugfs/ls.c b/debugfs/ls.c index fe6df0a2..2f5c83ac 100644 --- a/debugfs/ls.c +++ b/debugfs/ls.c @@ -84,8 +84,8 @@ static int list_dir_proc(struct ext2_dir_entry *dirent, struct list_dir_struct *ls = (struct list_dir_struct *) private; int thislen; - thislen = (dirent->name_len < EXT2_NAME_LEN) ? dirent->name_len : - EXT2_NAME_LEN; + thislen = ((dirent->name_len & 0xFF) < EXT2_NAME_LEN) ? + (dirent->name_len & 0xFF) : EXT2_NAME_LEN; strncpy(name, dirent->name, thislen); name[thislen] = '\0'; 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; |