aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debugfs/ChangeLog5
-rw-r--r--debugfs/ls.c4
-rw-r--r--lib/e2p/ChangeLog8
-rw-r--r--lib/e2p/fgetflags.c28
-rw-r--r--lib/e2p/fgetversion.c6
-rw-r--r--lib/e2p/fsetflags.c22
-rw-r--r--lib/e2p/fsetversion.c6
-rw-r--r--lib/e2p/getflags.c28
-rw-r--r--lib/e2p/getversion.c5
-rw-r--r--lib/e2p/setflags.c21
-rw-r--r--lib/e2p/setversion.c5
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;