diff options
| author | filliatr | 2000-11-09 12:56:25 +0000 |
|---|---|---|
| committer | filliatr | 2000-11-09 12:56:25 +0000 |
| commit | 2d38d687f9ff34cf168fab8b2555e747dcde97ad (patch) | |
| tree | 81076e529e0ac9cbe230342b76a5a054d688e0ad /lib/system.ml | |
| parent | 1a57a1bcce8bd747548b17303f6681be5a837f37 (diff) | |
all_subdirs teste si son argument est un repertoire; sinon ne fait rien
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@829 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'lib/system.ml')
| -rw-r--r-- | lib/system.ml | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/lib/system.ml b/lib/system.ml index fd7e93bd0a..a967ed191c 100644 --- a/lib/system.ml +++ b/lib/system.ml @@ -16,8 +16,7 @@ type load_path_entry = { type load_path = load_path_entry list let exists_dir dir = - try let _ = opendir dir in true - with Unix_error _ -> false + try let _ = opendir dir in true with Unix_error _ -> false let all_subdirs root = let l = ref [] in @@ -25,9 +24,7 @@ let all_subdirs root = l := { directory = f; root_dir = root; relative_subdir = rel } :: !l in let rec traverse dir rel = - let dirh = - try opendir dir with Unix_error _ -> invalid_arg "all_subdirs" - in + let dirh = opendir dir in try while true do let f = readdir dirh in @@ -42,7 +39,8 @@ let all_subdirs root = with End_of_file -> closedir dirh in - traverse root ""; List.rev !l + if exists_dir root then traverse root ""; + List.rev !l let safe_getenv_def var def = try |
