We used to always strip trailing path separators from the path we were
given, but mingw's stat succeeds for C:\ and C:\foo but fails for C:
and C:\foo\. Thus we now use a trailing slash if and only if the path
we are given is a drive.
return (s_isdir mode)
fileNameEndClean :: String -> String
-fileNameEndClean name =
- if i > 0 && (ec == '\\' || ec == '/') then
- fileNameEndClean (take i name)
- else
- name
- where
- i = (length name) - 1
- ec = name !! i
+fileNameEndClean name = if isDrive name then addTrailingPathSeparator name
+ else dropTrailingPathSeparator name
foreign import ccall unsafe "__hscore_R_OK" r_OK :: CInt
foreign import ccall unsafe "__hscore_W_OK" w_OK :: CInt