Index: trunk/Include/Classes/System/IO/DirectoryInfo.ab
===================================================================
--- trunk/Include/Classes/System/IO/DirectoryInfo.ab	(revision 332)
+++ trunk/Include/Classes/System/IO/DirectoryInfo.ab	(revision 333)
@@ -105,5 +105,5 @@
 					subdirs = dirs[i].GetDirectories(searchPattern)
 					For j = 0 To ELM(subdirs.Count)
-						dirs.Add(subdirs[i])
+						dirs.Add(subdirs[j])
 					Next
 				Next
@@ -136,9 +136,9 @@
 			Case SearchOption.AllDirectories
 				Dim dirs As List<DirectoryInfo>
-				dirs = GetDirectories(searchPattern, SearchOption.AllDirectories)
+				dirs = GetDirectories("?*", SearchOption.AllDirectories)
 
 				Dim files As List<FileInfo>
-				Dim subfiles As List<FileInfo>
-				Dim i As Long, j As Long
+				files = GetFiles(searchPattern)
+				Dim i As Long, j As Long, subfiles As List<FileInfo>
 				For i = 0 To ELM(dirs.Count)
 					subfiles = dirs[i].GetFiles(searchPattern)
Index: trunk/Include/Classes/System/IO/FileSystemInfo.ab
===================================================================
--- trunk/Include/Classes/System/IO/FileSystemInfo.ab	(revision 332)
+++ trunk/Include/Classes/System/IO/FileSystemInfo.ab	(revision 333)
@@ -43,13 +43,9 @@
 	Sub CreationTime(ByRef value As DateTime)
 		m_CreationTime = value.ToFileTimeUtc()
-		If setFileTime() = False Then
-			'Exception
-			debug
-		End If
+		setFileTime()
 	End Sub
 
 	Function CreationTimeUtc() As DateTime
-		Dim date = CreationTime As DateTime
-		Return date.ToUniversalTime()
+		Return CreationTime.ToUniversalTime()
 	End Function
 
@@ -64,13 +60,9 @@
 	Sub LastAccessTime(ByRef value As DateTime)
 		m_LastAccessTime = value.ToFileTimeUtc()
-		If setFileTime() = False Then
-			'Exception
-			debug
-		End If
+		setFileTime()
 	End Sub
 
 	Function LastAccessTimeUtc() As DateTime
-		Dim date = LastAccessTime As DateTime
-		Return date.ToUniversalTime()
+		Return LastAccessTime.ToUniversalTime()
 	End Function
 
@@ -85,13 +77,9 @@
 	Sub LastWriteTime(ByRef value As DateTime)
 		m_LastWriteTime = value.ToFileTimeUtc()
-		If setFileTime() = False Then
-			'Exception
-			debug
-		End If
+		setFileTime()
 	End Sub
 
 	Function LastWriteTimeUtc() As DateTime
-		Dim date = LastWriteTime As DateTime
-		Return date.ToUniversalTime()
+		Return LastWriteTime.ToUniversalTime()
 	End Function
 
@@ -138,21 +126,18 @@
 		m_LastWriteTime = data.ftLastWriteTime
 	End Sub
-
 Private
-	Function setFileTime() As Boolean
+	Sub setFileTime()
 		Dim hFile = CreateFile(ToTCStr(FullPath), GENERIC_WRITE, FILE_SHARE_READ Or FILE_SHARE_WRITE, ByVal 0, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0)
 		If hFile = INVALID_HANDLE_VALUE Then
-			setFileTime = False
+			debug 'Exception
 			Exit Function
 		End If
 
-		If SetFileTime(hFile, m_CreationTime, m_LastAccessTime, m_LastWriteTime) Then
-			setFileTime = True
-		Else
-			setFileTime = False
+		If SetFileTime(hFile, m_CreationTime, m_LastAccessTime, m_LastWriteTime) = False Then
+			debug 'Exception
 		End If
 
 		CloseHandle(hFile)
-	End Function
+	End Sub
 End Class
 
