* 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>
* fhandler.h (UNCONNECTED): New define.

View File

@ -50,7 +50,7 @@ typedef struct _SYSTEM_BASIC_INFORMATION
UCHAR NumberProcessors;
} SYSTEM_BASIC_INFORMATION, *PSYSTEM_BASIC_INFORMATION;
typedef struct _SYSTEM_PROCESSOR_TIMES
typedef struct __attribute__ ((aligned (8))) _SYSTEM_PROCESSOR_TIMES
{
LARGE_INTEGER IdleTime;
LARGE_INTEGER KernelTime;
@ -244,7 +244,7 @@ typedef struct _SYSTEM_PERFORMANCE_INFORMATION
ULONG SystemCalls;
} 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 CurrentTime;

View File

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