@@ -40,14 +40,12 @@ typedef struct _FILE_STANDARD_INFORMATION
4040#endif /* !defined(__MINGW32__) &&
4141 * !defined(__MINGW64__) */
4242
43- typedef NTSTATUS (NTAPI * PFN_NTQUERYINFORMATIONFILE )
44- (
45- IN HANDLE FileHandle ,
46- OUT PIO_STATUS_BLOCK IoStatusBlock ,
47- OUT PVOID FileInformation ,
48- IN ULONG Length ,
49- IN FILE_INFORMATION_CLASS FileInformationClass
50- );
43+ typedef NTSTATUS (NTAPI * PFN_NTQUERYINFORMATIONFILE )
44+ (IN HANDLE FileHandle ,
45+ OUT PIO_STATUS_BLOCK IoStatusBlock ,
46+ OUT PVOID FileInformation ,
47+ IN ULONG Length ,
48+ IN FILE_INFORMATION_CLASS FileInformationClass );
5149
5250static PFN_NTQUERYINFORMATIONFILE _NtQueryInformationFile = NULL ;
5351
@@ -101,8 +99,8 @@ fileattr_to_unixmode(int attr)
10199 uxmode |= (unsigned short ) ((attr & FILE_ATTRIBUTE_DIRECTORY ) ?
102100 (_S_IFDIR ) : (_S_IFREG ));
103101
104- uxmode |= (unsigned short ) (attr & FILE_ATTRIBUTE_READONLY ) ?
105- (_S_IREAD ) : (_S_IREAD | _S_IWRITE );
102+ uxmode |= (unsigned short ) (( attr & FILE_ATTRIBUTE_READONLY ) ?
103+ (_S_IREAD ) : (_S_IREAD | _S_IWRITE ) );
106104
107105 /* there is no need to simulate _S_IEXEC using CMD's PATHEXT extensions */
108106 uxmode |= _S_IEXEC ;
@@ -149,8 +147,8 @@ fileinfo_to_stat(HANDLE hFile, struct stat *buf)
149147 buf -> st_mode = fileattr_to_unixmode (fiData .dwFileAttributes );
150148 buf -> st_nlink = fiData .nNumberOfLinks ;
151149
152- buf -> st_size = (((uint64 ) fiData .nFileSizeHigh ) << 32 ) |
153- ( uint64 ) fiData .nFileSizeLow ;
150+ buf -> st_size = (((( uint64 ) fiData .nFileSizeHigh ) << 32 ) |
151+ fiData .nFileSizeLowi ) ;
154152
155153 return 0 ;
156154}
@@ -220,17 +218,21 @@ _pgstat64(const char *name, struct stat *buf)
220218 LoadNtdll ();
221219 if (ntdll == NULL )
222220 {
223- _dosmaperr (GetLastError ());
221+ DWORD err = GetLastError ();
222+
224223 CloseHandle (hFile );
224+ _dosmaperr (err );
225225 return -1 ;
226226 }
227227
228228 _NtQueryInformationFile = (PFN_NTQUERYINFORMATIONFILE )
229229 GetProcAddress (ntdll , "NtQueryInformationFile" );
230230 if (_NtQueryInformationFile == NULL )
231231 {
232- _dosmaperr (GetLastError ());
232+ DWORD err = GetLastError ();
233+
233234 CloseHandle (hFile );
235+ _dosmaperr (err );
234236 return -1 ;
235237 }
236238 }
@@ -239,16 +241,20 @@ _pgstat64(const char *name, struct stat *buf)
239241 sizeof (standardInfo ),
240242 FileStandardInformation )))
241243 {
242- _dosmaperr (GetLastError ());
244+ DWORD err = GetLastError ();
245+
243246 CloseHandle (hFile );
247+ _dosmaperr (err );
244248 return -1 ;
245249 }
246250#else
247251 if (!GetFileInformationByHandleEx (hFile , FileStandardInfo , & standardInfo ,
248252 sizeof (standardInfo )))
249253 {
250- _dosmaperr (GetLastError ());
254+ DWORD err = GetLastError ();
255+
251256 CloseHandle (hFile );
257+ _dosmaperr (err );
252258 return -1 ;
253259 }
254260#endif /* _WIN32_WINNT < 0x0600 */
0 commit comments