* ntdll.h (_SYSTEM_PROCESSOR_TIMES): Force eight byte alignment.

(_SYSTEM_TIME_OF_DAY_INFORMATION): Ditto.
This commit is contained in:
Christopher Faylor 2002-07-05 21:58:49 +00:00
parent d5591d9df6
commit 91a2f87b9d
3 changed files with 43 additions and 36 deletions

View File

@ -1,3 +1,8 @@
2002-07-05 Christopher Faylor <cgf@redhat.com>
* ntdll.h (_SYSTEM_PROCESSOR_TIMES): Force eight byte alignment.
(_SYSTEM_TIME_OF_DAY_INFORMATION): Ditto.
2002-07-05 Corinna Vinschen <corinna@vinschen.de> 2002-07-05 Corinna Vinschen <corinna@vinschen.de>
* fhandler.h (UNCONNECTED): New define. * fhandler.h (UNCONNECTED): New define.

View File

@ -50,7 +50,7 @@ typedef struct _SYSTEM_BASIC_INFORMATION
UCHAR NumberProcessors; UCHAR NumberProcessors;
} SYSTEM_BASIC_INFORMATION, *PSYSTEM_BASIC_INFORMATION; } SYSTEM_BASIC_INFORMATION, *PSYSTEM_BASIC_INFORMATION;
typedef struct _SYSTEM_PROCESSOR_TIMES typedef struct __attribute__ ((aligned (8))) _SYSTEM_PROCESSOR_TIMES
{ {
LARGE_INTEGER IdleTime; LARGE_INTEGER IdleTime;
LARGE_INTEGER KernelTime; LARGE_INTEGER KernelTime;
@ -244,7 +244,7 @@ typedef struct _SYSTEM_PERFORMANCE_INFORMATION
ULONG SystemCalls; ULONG SystemCalls;
} SYSTEM_PERFORMANCE_INFORMATION, *PSYSTEM_PERFORMANCE_INFORMATION; } SYSTEM_PERFORMANCE_INFORMATION, *PSYSTEM_PERFORMANCE_INFORMATION;
typedef struct _SYSTEM_TIME_OF_DAY_INFORMATION typedef struct __attribute__ ((aligned(8))) _SYSTEM_TIME_OF_DAY_INFORMATION
{ {
LARGE_INTEGER BootTime; LARGE_INTEGER BootTime;
LARGE_INTEGER CurrentTime; LARGE_INTEGER CurrentTime;

View File

@ -2822,35 +2822,23 @@ suffix_scan::has (const char *in_path, const suffix_info *in_suffixes)
int int
suffix_scan::next () suffix_scan::next ()
{ {
if (suffixes) for (;;)
{ {
while (suffixes && suffixes->name) if (!suffixes)
if (!suffixes->addon)
suffixes++;
else
{
strcpy (eopath, suffixes->name);
if (nextstate == SCAN_EXTRALNK)
strcat (eopath, ".lnk");
suffixes++;
return 1;
}
suffixes = NULL;
}
switch (nextstate) switch (nextstate)
{ {
case SCAN_BEG: case SCAN_BEG:
suffixes = suffixes_start; suffixes = suffixes_start;
if (!suffixes) if (!suffixes)
nextstate = SCAN_LNK;
else
{ {
nextstate = SCAN_LNK;
return 1;
}
if (!*suffixes->name) if (!*suffixes->name)
suffixes++; suffixes++;
nextstate = SCAN_EXTRALNK; nextstate = SCAN_EXTRALNK;
} /* fall through to suffix checking below */
return 1; break;
case SCAN_HASLNK: case SCAN_HASLNK:
nextstate = SCAN_EXTRALNK; /* Skip SCAN_BEG */ nextstate = SCAN_EXTRALNK; /* Skip SCAN_BEG */
return 1; return 1;
@ -2870,6 +2858,20 @@ suffix_scan::next ()
*eopath = '\0'; *eopath = '\0';
return 0; return 0;
} }
while (suffixes && suffixes->name)
if (!suffixes->addon)
suffixes++;
else
{
strcpy (eopath, suffixes->name);
if (nextstate == SCAN_EXTRALNK)
strcat (eopath, ".lnk");
suffixes++;
return 1;
}
suffixes = NULL;
}
} }
/* Check if PATH is a symlink. PATH must be a valid Win32 path name. /* Check if PATH is a symlink. PATH must be a valid Win32 path name.