From: cascade Date: Mon, 18 Oct 2004 09:55:32 +0000 (+0000) Subject: OCC6786 wrm does not remove directory due to sharing violation X-Git-Url: http://git.dev.opencascade.org/gitweb/?a=commitdiff_plain;h=a6aa354d0e397e647dec23c1f010ceb64cdf9047;p=occt-wok.git OCC6786 wrm does not remove directory due to sharing violation --- diff --git a/src/WOKNT/WOKNT_PathIterator.cxx b/src/WOKNT/WOKNT_PathIterator.cxx index 4d6c7e9..450172b 100755 --- a/src/WOKNT/WOKNT_PathIterator.cxx +++ b/src/WOKNT/WOKNT_PathIterator.cxx @@ -82,12 +82,18 @@ void WOKNT_PathIterator::Push(const WOKNT_FindData& data, const WOKNT_Handle& ha if(!myStack.IsEmpty()) { if(myStack.Top() == INVALID_HANDLE_VALUE ) - mymore = Standard_False; + { + Pop(); + mymore = Standard_False; + } else mymore = Standard_True; } else - mymore = Standard_False; + { + Pop(); + mymore = Standard_False; + } } } else @@ -130,7 +136,8 @@ void WOKNT_PathIterator::Next() if(myStack.Top()!=INVALID_HANDLE_VALUE && mymore) { if(!IsDots(mydata.cFileName) && mydata.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY && myrecflag) - Push(mydata, myStack.Top()); + Push(mydata, myStack.Top()); + if (!mymore) Pop(); else { if(!FindNextFile(myStack.Top(), &mydata))