summaryrefslogtreecommitdiffstats
path: root/otherlibs/labltk/browser/useunix.ml
diff options
context:
space:
mode:
authorJacques Garrigue <garrigue at math.nagoya-u.ac.jp>2002-08-09 10:34:44 +0000
committerJacques Garrigue <garrigue at math.nagoya-u.ac.jp>2002-08-09 10:34:44 +0000
commitc9b77a613c84fefffe7cb824c72419172ed7ae46 (patch)
tree8096ab8ba03a572227baf59fa04009a9c7abfcd2 /otherlibs/labltk/browser/useunix.ml
parentb920dbd56c1e403a429f5001832fb05d72ee05b6 (diff)
last changes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5094 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'otherlibs/labltk/browser/useunix.ml')
-rw-r--r--otherlibs/labltk/browser/useunix.ml16
1 files changed, 14 insertions, 2 deletions
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 =