diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2020-06-10 06:10:04 +0300 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2020-06-10 17:48:50 +0300 |
commit | 17d03a4deb7ed18abb4e0e590e6315050d9c29fd (patch) | |
tree | 324feeb1e3568042fe9e2f73ebd6d63296781cf7 /extension/readdir.c | |
parent | 5aae00200fc44bdfefbb497cf57eb23a9d2517be (diff) | |
download | egawk-17d03a4deb7ed18abb4e0e590e6315050d9c29fd.tar.gz egawk-17d03a4deb7ed18abb4e0e590e6315050d9c29fd.tar.bz2 egawk-17d03a4deb7ed18abb4e0e590e6315050d9c29fd.zip |
Add mbuilov fixes. Still needs review.
Diffstat (limited to 'extension/readdir.c')
-rw-r--r-- | extension/readdir.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/extension/readdir.c b/extension/readdir.c index cc1cd505..fb739754 100644 --- a/extension/readdir.c +++ b/extension/readdir.c @@ -144,6 +144,7 @@ get_inode(struct dirent *entry, const char *dirname) #ifdef __MINGW32__ char fname[PATH_MAX]; HANDLE fh; + BOOL ok; BY_HANDLE_FILE_INFORMATION info; sprintf(fname, "%s\\%s", dirname, entry->d_name); @@ -151,7 +152,9 @@ get_inode(struct dirent *entry, const char *dirname) FILE_FLAG_BACKUP_SEMANTICS, NULL); if (fh == INVALID_HANDLE_VALUE) return 0; - if (GetFileInformationByHandle(fh, &info)) { + ok = GetFileInformationByHandle(fh, &info); + CloseHandle(fh); + if (ok) { long long inode = info.nFileIndexHigh; inode <<= 32; |