From e234f3ef8161f0b30c5189c629e856af04a66340 Mon Sep 17 00:00:00 2001 From: Enrico Tassi Date: Tue, 18 Jul 2017 11:22:15 +0200 Subject: Windows: Sys.is_dir "foo/" always says no (so we strip trailing slash) --- lib/minisys.ml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/minisys.ml b/lib/minisys.ml index b4382a3fe7..1ed017e489 100644 --- a/lib/minisys.ml +++ b/lib/minisys.ml @@ -44,7 +44,11 @@ let ok_dirname f = (* Check directory can be opened *) let exists_dir dir = - try Sys.is_directory dir with Sys_error _ -> false + let rec strip_trailing_slash dir = + let len = String.length dir in + if len > 0 && (dir.[len-1] = '/' || dir.[len-1] = '\\') + then strip_trailing_slash (String.sub dir 0 (len-1)) else dir in + try Sys.is_directory (strip_trailing_slash dir) with Sys_error _ -> false let apply_subdir f path name = (* we avoid all files and subdirs starting by '.' (e.g. .svn) *) -- cgit v1.2.3