From: Theodore Ts'o Date: Mon, 9 Mar 1998 13:07:09 +0000 (+0000) Subject: ChangeLog, ls.c: X-Git-Tag: E2FSPROGS-1_12~49 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=cce382b12c2e0764b91d143ec6f9549c735f8f9e;p=tools%2Fe2fsprogs.git 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. --- diff --git a/debugfs/ChangeLog b/debugfs/ChangeLog index ce82acf..2118556 100644 --- a/debugfs/ChangeLog +++ b/debugfs/ChangeLog @@ -1,3 +1,8 @@ +Sun Mar 8 22:53:04 1998 Theodore Ts'o + + * ls.c (list_dir_proc): Mask off high 8 bits from + dirent->name_len. + Mon Dec 1 13:21:09 1997 Theodore Ts'o * Makefile.in: Install debugfs in /sbin, instead of /usr/sbin. diff --git a/debugfs/ls.c b/debugfs/ls.c index fe6df0a..2f5c83a 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 28f5698..e05fe2e 100644 --- a/lib/e2p/ChangeLog +++ b/lib/e2p/ChangeLog @@ -1,3 +1,11 @@ +Mon Mar 9 08:05:30 1998 Theodore Ts'o + + * 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 * Release of E2fsprogs 1.11 diff --git a/lib/e2p/fgetflags.c b/lib/e2p/fgetflags.c index f01de26..bb3fd2e 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 fea376b..525081e 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 92e558b..5c76083 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 49c7c36..428e6e9 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 8c476a3..477cb9b 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 be76b60..4eb5d4c 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 654ec9d..2bf47fa 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 3210f51..bd00df6 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;