summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--winsup/cygwin/ChangeLog8
-rw-r--r--winsup/cygwin/dir.cc1
-rw-r--r--winsup/cygwin/include/sys/dirent.h4
3 files changed, 10 insertions, 3 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 7c56d7a81..815917e26 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,6 +1,12 @@
2003-09-08 Christopher Faylor <cgf@redhat.com>
- * passwe.cc (getpwnam_r): Initialize pw_comment field.
+ * dir.cc (readdir): Reinstate setting of old ino field for legacy
+ applications.
+ * dirent.h (dirent): Rename unused field to __ino32.
+
+2003-09-08 Christopher Faylor <cgf@redhat.com>
+
+ * passwd.cc (getpwnam_r): Initialize pw_comment field.
2003-09-08 Christopher Faylor <cgf@redhat.com>
diff --git a/winsup/cygwin/dir.cc b/winsup/cygwin/dir.cc
index 6fd2804d4..c7edd8871 100644
--- a/winsup/cygwin/dir.cc
+++ b/winsup/cygwin/dir.cc
@@ -174,6 +174,7 @@ readdir (DIR *dir)
__ino64_t dino = hash_path_name (dir->__d_dirhash, "\\");
dir->__d_dirent->d_ino = hash_path_name (dino, res->d_name);
}
+ res->__ino32 = dir->__d_dirent->d_ino; // for legacy applications
}
return res;
}
diff --git a/winsup/cygwin/include/sys/dirent.h b/winsup/cygwin/include/sys/dirent.h
index 1e6996f87..c3d77c4fb 100644
--- a/winsup/cygwin/include/sys/dirent.h
+++ b/winsup/cygwin/include/sys/dirent.h
@@ -23,7 +23,7 @@ struct dirent
__ino64_t d_ino; /* still junk but with more bits */
long d_fd; /* File descriptor of open directory.
Used since Cygwin 1.3.3. */
- unsigned __flags; /* Used internally. */
+ unsigned __ino32;
char d_name[256]; /* FIXME: use NAME_MAX? */
};
#else
@@ -33,7 +33,7 @@ struct dirent
long d_version;
ino_t d_ino;
long d_fd;
- unsigned long __unused;
+ unsigned long __ino32;
char d_name[256];
};
#else