--- operations.cpp 2009-10-23 12:54:19.000000000 -0500 +++ operations.new.cpp 2009-10-23 12:54:56.000000000 -0500 @@ -903,7 +903,7 @@ == INVALID_HANDLE_VALUE ) { handle = 0; - return error_code( ::GetLastError() == ERROR_FILE_NOT_FOUND + return error_code( ::GetLastError() == ERROR_FILE_NOT_FOUND || ::GetLastError() == ERROR_NO_MORE_FILES ? 0 : ::GetLastError(), system_category ); } target = data.cFileName;