summaryrefslogtreecommitdiffstats
path: root/winsup
diff options
context:
space:
mode:
Diffstat (limited to 'winsup')
-rw-r--r--winsup/cygwin/ChangeLog7
-rw-r--r--winsup/cygwin/fhandler_disk_file.cc3
-rw-r--r--winsup/cygwin/ntdll.h7
3 files changed, 13 insertions, 4 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index b30e4680b..8af5af788 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,10 @@
+2007-09-27 Corinna Vinschen <corinna@vinschen.de>
+
+ * ntdll.h (struct _FILE_COMPRESSION_INFORMATION): Align with definition
+ in w32api / MSDN.
+ * fhandler_disk_file.cc (fhandler_base::fstat_helper): Accommodate
+ change to struct _FILE_COMPRESSION_INFORMATION.
+
2007-09-26 Corinna Vinschen <corinna@vinschen.de>
* termios.cc (setspeed): Support new baud rates introduced 2007-02-05.
diff --git a/winsup/cygwin/fhandler_disk_file.cc b/winsup/cygwin/fhandler_disk_file.cc
index c7c5d9f23..095c779e8 100644
--- a/winsup/cygwin/fhandler_disk_file.cc
+++ b/winsup/cygwin/fhandler_disk_file.cc
@@ -506,7 +506,8 @@ fhandler_base::fstat_helper (struct __stat64 *buf,
sizeof fci, FileCompressionInformation))
/* Otherwise we request the actual amount of bytes allocated for
compressed and sparsed files. */
- buf->st_blocks = (fci.CompressedSize.QuadPart + S_BLKSIZE - 1) / S_BLKSIZE;
+ buf->st_blocks = (fci.CompressedFileSize.QuadPart + S_BLKSIZE - 1)
+ / S_BLKSIZE;
else
/* Otherwise compute no. of blocks from file size. */
buf->st_blocks = (buf->st_size + S_BLKSIZE - 1) / S_BLKSIZE;
diff --git a/winsup/cygwin/ntdll.h b/winsup/cygwin/ntdll.h
index fa12f15f6..136334124 100644
--- a/winsup/cygwin/ntdll.h
+++ b/winsup/cygwin/ntdll.h
@@ -651,11 +651,12 @@ typedef struct _FILE_PIPE_LOCAL_INFORMATION
typedef struct _FILE_COMPRESSION_INFORMATION
{
- LARGE_INTEGER CompressedSize;
+ LARGE_INTEGER CompressedFileSize;
USHORT CompressionFormat;
UCHAR CompressionUnitShift;
- UCHAR Unknown;
- UCHAR ClusterSizeShift;
+ UCHAR ChunkShift;
+ UCHAR ClusterShift;
+ UCHAR Reserved[3];
} FILE_COMPRESSION_INFORMATION, *PFILE_COMPRESSION_INFORMATION;
typedef struct _FILE_FS_DEVICE_INFORMATION