Alexandre Julliard : ntdll: Avoid using Low/ HighPart of a large integer when not necessary.
Alexandre Julliard
julliard at winehq.org
Tue Oct 30 13:27:35 CDT 2012
Module: wine
Branch: master
Commit: aacc450955ed5871e3ef68346fec2467c785799e
URL: http://source.winehq.org/git/wine.git/?a=commit;h=aacc450955ed5871e3ef68346fec2467c785799e
Author: Alexandre Julliard <julliard at winehq.org>
Date: Tue Oct 30 11:43:05 2012 +0100
ntdll: Avoid using Low/HighPart of a large integer when not necessary.
---
dlls/ntdll/cdrom.c | 8 +++-----
dlls/ntdll/file.c | 4 ++--
dlls/ntdll/tape.c | 4 ++--
dlls/ntdll/time.c | 18 ++++++------------
4 files changed, 13 insertions(+), 21 deletions(-)
diff --git a/dlls/ntdll/cdrom.c b/dlls/ntdll/cdrom.c
index 9137bb3..5ce3f7d 100644
--- a/dlls/ntdll/cdrom.c
+++ b/dlls/ntdll/cdrom.c
@@ -756,9 +756,8 @@ static NTSTATUS CDROM_GetDriveGeometry(int dev, int fd, DISK_GEOMETRY* dg)
fsize = FRAME_OF_TOC(toc, toc.LastTrack+1)
- FRAME_OF_TOC(toc, 1); /* Total size in frames */
-
- dg->Cylinders.u.LowPart = fsize / (64 * 32);
- dg->Cylinders.u.HighPart = 0;
+
+ dg->Cylinders.QuadPart = fsize / (64 * 32);
dg->MediaType = RemovableMedia;
dg->TracksPerCylinder = 64;
dg->SectorsPerTrack = 32;
@@ -2511,8 +2510,7 @@ static NTSTATUS DVD_ReadStructure(int dev, const DVD_READ_STRUCTURE *structure,
struct dvd_manufact manufact;
} s;
- if (structure->BlockByteOffset.u.HighPart || structure->BlockByteOffset.u.LowPart)
- FIXME(": BlockByteOffset is not handled\n");
+ if (structure->BlockByteOffset.QuadPart) FIXME(": BlockByteOffset is not handled\n");
switch (structure->Format)
{
diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c
index e54b42a..ca1e5cb 100644
--- a/dlls/ntdll/file.c
+++ b/dlls/ntdll/file.c
@@ -2857,7 +2857,7 @@ NTSTATUS WINAPI NtCancelIoFileEx( HANDLE hFile, PIO_STATUS_BLOCK iosb, PIO_STATU
* of the queued APC, but not yet run. This is needed to ensure proper
* clean-up of allocated data.
*/
- timeout.u.LowPart = timeout.u.HighPart = 0;
+ timeout.QuadPart = 0;
NtDelayExecution( TRUE, &timeout );
return io_status->u.Status;
}
@@ -2889,7 +2889,7 @@ NTSTATUS WINAPI NtCancelIoFile( HANDLE hFile, PIO_STATUS_BLOCK io_status )
* of the queued APC, but not yet run. This is needed to ensure proper
* clean-up of allocated data.
*/
- timeout.u.LowPart = timeout.u.HighPart = 0;
+ timeout.QuadPart = 0;
NtDelayExecution( TRUE, &timeout );
return io_status->u.Status;
}
diff --git a/dlls/ntdll/tape.c b/dlls/ntdll/tape.c
index 2667e18..df46015 100644
--- a/dlls/ntdll/tape.c
+++ b/dlls/ntdll/tape.c
@@ -223,8 +223,8 @@ static NTSTATUS TAPE_GetMediaParams( int fd, TAPE_GET_MEDIA_PARAMETERS *data )
if (status != STATUS_SUCCESS)
return status;
- data->Capacity.u.LowPart = 1024 * 1024 * 1024;
- data->Remaining.u.LowPart = 1024 * 1024 * 1024;
+ data->Capacity.QuadPart = 1024 * 1024 * 1024;
+ data->Remaining.QuadPart = 1024 * 1024 * 1024;
#ifdef HAVE_STRUCT_MTGET_MT_BLKSIZ
data->BlockSize = get.mt_blksiz;
#else
diff --git a/dlls/ntdll/time.c b/dlls/ntdll/time.c
index d233f23..a8b1376 100644
--- a/dlls/ntdll/time.c
+++ b/dlls/ntdll/time.c
@@ -331,10 +331,9 @@ NTSTATUS WINAPI RtlSystemTimeToLocalTime( const LARGE_INTEGER *SystemTime,
*/
BOOLEAN WINAPI RtlTimeToSecondsSince1970( const LARGE_INTEGER *Time, LPDWORD Seconds )
{
- ULONGLONG tmp = ((ULONGLONG)Time->u.HighPart << 32) | Time->u.LowPart;
- tmp = tmp / TICKSPERSEC - SECS_1601_TO_1970;
+ ULONGLONG tmp = Time->QuadPart / TICKSPERSEC - SECS_1601_TO_1970;
if (tmp > 0xffffffff) return FALSE;
- *Seconds = (DWORD)tmp;
+ *Seconds = tmp;
return TRUE;
}
@@ -353,10 +352,9 @@ BOOLEAN WINAPI RtlTimeToSecondsSince1970( const LARGE_INTEGER *Time, LPDWORD Sec
*/
BOOLEAN WINAPI RtlTimeToSecondsSince1980( const LARGE_INTEGER *Time, LPDWORD Seconds )
{
- ULONGLONG tmp = ((ULONGLONG)Time->u.HighPart << 32) | Time->u.LowPart;
- tmp = tmp / TICKSPERSEC - SECS_1601_TO_1980;
+ ULONGLONG tmp = Time->QuadPart / TICKSPERSEC - SECS_1601_TO_1980;
if (tmp > 0xffffffff) return FALSE;
- *Seconds = (DWORD)tmp;
+ *Seconds = tmp;
return TRUE;
}
@@ -374,9 +372,7 @@ BOOLEAN WINAPI RtlTimeToSecondsSince1980( const LARGE_INTEGER *Time, LPDWORD Sec
*/
void WINAPI RtlSecondsSince1970ToTime( DWORD Seconds, LARGE_INTEGER *Time )
{
- ULONGLONG secs = Seconds * (ULONGLONG)TICKSPERSEC + TICKS_1601_TO_1970;
- Time->u.LowPart = (DWORD)secs;
- Time->u.HighPart = (DWORD)(secs >> 32);
+ Time->QuadPart = Seconds * (ULONGLONG)TICKSPERSEC + TICKS_1601_TO_1970;
}
/******************************************************************************
@@ -393,9 +389,7 @@ void WINAPI RtlSecondsSince1970ToTime( DWORD Seconds, LARGE_INTEGER *Time )
*/
void WINAPI RtlSecondsSince1980ToTime( DWORD Seconds, LARGE_INTEGER *Time )
{
- ULONGLONG secs = Seconds * (ULONGLONG)TICKSPERSEC + TICKS_1601_TO_1980;
- Time->u.LowPart = (DWORD)secs;
- Time->u.HighPart = (DWORD)(secs >> 32);
+ Time->QuadPart = Seconds * (ULONGLONG)TICKSPERSEC + TICKS_1601_TO_1980;
}
/******************************************************************************
More information about the wine-cvs
mailing list