summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormarco <marco@3ad0048d-3df7-0310-abae-a5850022a9f2>2017-06-21 14:09:50 +0000
committermarco <marco@3ad0048d-3df7-0310-abae-a5850022a9f2>2017-06-21 14:09:50 +0000
commitaba264c5d8fc25a92eb08e17cc2715b98f883326 (patch)
tree2c1cf5e98e95c53c7ee865243764bfa0bf0677df
parentbcaf93d01467ac2b8b92fb145153d5f214fa1e6a (diff)
downloadfpc-aba264c5d8fc25a92eb08e17cc2715b98f883326.tar.gz
--- Merging r36510 into '.':
U rtl/win/sysutils.pp --- Recording mergeinfo for merge of r36510 into '.': U . # revisions: 36510 git-svn-id: https://svn.freepascal.org/svn/fpc/branches/fixes_3_0@36561 3ad0048d-3df7-0310-abae-a5850022a9f2
-rw-r--r--rtl/win/sysutils.pp15
1 files changed, 10 insertions, 5 deletions
diff --git a/rtl/win/sysutils.pp b/rtl/win/sysutils.pp
index 7c8f6af81f..119285b6f3 100644
--- a/rtl/win/sysutils.pp
+++ b/rtl/win/sysutils.pp
@@ -444,6 +444,14 @@ begin
Result:=0;
end;
+Procedure InternalFindClose (var Handle: THandle; var FindData: TFindData);
+begin
+ if Handle <> INVALID_HANDLE_VALUE then
+ begin
+ Windows.FindClose(Handle);
+ Handle:=INVALID_HANDLE_VALUE;
+ end;
+end;
Function InternalFindFirst (Const Path : UnicodeString; Attr : Longint; out Rslt : TAbstractSearchRec; var Name : UnicodeString) : Longint;
begin
@@ -460,6 +468,8 @@ begin
end;
{ Find file with correct attribute }
Result:=FindMatch(Rslt,Name);
+ if (Result<>0) then
+ InternalFindClose(Rslt.FindHandle,Rslt.FindData);
end;
Function InternalFindNext (Var Rslt : TAbstractSearchRec; var Name: UnicodeString) : Longint;
@@ -471,11 +481,6 @@ begin
end;
-Procedure InternalFindClose (var Handle: THandle; var FindData: TFindData);
-begin
- if Handle <> INVALID_HANDLE_VALUE then
- Windows.FindClose(Handle);
-end;
Function FileGetDate (Handle : THandle) : Longint;