From c9b77a613c84fefffe7cb824c72419172ed7ae46 Mon Sep 17 00:00:00 2001 From: Jacques Garrigue Date: Fri, 9 Aug 2002 10:34:44 +0000 Subject: last changes git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5094 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02 --- otherlibs/labltk/browser/useunix.ml | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'otherlibs/labltk/browser/useunix.ml') diff --git a/otherlibs/labltk/browser/useunix.ml b/otherlibs/labltk/browser/useunix.ml index a12d56c35..4998bbd66 100644 --- a/otherlibs/labltk/browser/useunix.ml +++ b/otherlibs/labltk/browser/useunix.ml @@ -18,7 +18,13 @@ open StdLabels open UnixLabels let get_files_in_directory dir = - match + let len = String.length dir in + let dir = + if len > 0 && Sys.os_type = "Win32" && + (dir.[len-1] = '/' || dir.[len-1] = '\\') + then String.sub dir ~pos:0 ~len:(len-1) + else dir + in match try Some(opendir dir) with Unix_error _ -> None with None -> [] @@ -39,8 +45,14 @@ let is_directory name = (stat name).st_kind = S_DIR with _ -> false +let concat dir name = + let len = String.length dir in + if len = 0 then name else + if dir.[len-1] = '/' then dir ^ name + else dir ^ "/" ^ name + let get_directories_in_files ~path = - List.filter ~f:(fun x -> is_directory (path ^ "/" ^ x)) + List.filter ~f:(fun x -> is_directory (concat path x)) (************************************************** Subshell call *) let subshell ~cmd = -- cgit v1.2.3-70-g09d2