Cleanup: explicit is better than implicit
authorThomas Miedema <thomasmiedema@gmail.com>
Fri, 31 Oct 2014 22:50:04 +0000 (23:50 +0100)
committerThomas Miedema <thomasmiedema@gmail.com>
Fri, 31 Oct 2014 22:50:04 +0000 (23:50 +0100)
System/FilePath/Internal.hs

index 8f2c51b..bd02ddd 100644 (file)
@@ -807,7 +807,7 @@ isValid _ | isPosix = True
 isValid path =
         not (any (`elem` badCharacters) x2) &&
         not (any f $ splitDirectories x2) &&
-        not (length x1 >= 2 && all isPathSeparator x1) &&
+        not (isJust (readDriveShare x1) && all isPathSeparator x1) &&
         not (isJust (readDriveUNC x1) && not (hasTrailingPathSeparator x1))
     where
         (x1,x2) = splitDrive path
@@ -832,7 +832,7 @@ makeValid :: FilePath -> FilePath
 makeValid "" = "_"
 makeValid path
         | isPosix = path
-        | length drv >= 2 && all isPathSeparator drv = take 2 drv ++ "drive"
+        | isJust (readDriveShare drv) && all isPathSeparator drv = take 2 drv ++ "drive"
         | isJust (readDriveUNC drv) && not (hasTrailingPathSeparator drv) =
             makeValid (drv ++ [pathSeparator] ++ pth)
         | otherwise = joinDrive drv $ validElements $ validChars pth