diff options
-rw-r--r-- | ols/ols.ml | 21 |
1 files changed, 18 insertions, 3 deletions
@@ -3,23 +3,38 @@ open Unix open Scanf open Printf + +let files = ref [];; + let main dir = let _ = Printf.printf "list directory %s" dir in + (*let files = ref [""] in*) let dirfd = opendir dir in try while true do let fname = readdir dirfd in - Printf.printf "%s\n" fname - done + let _ = (Printf.printf "%s\n" fname) in + files := List.append !files [fname] + done with End_of_file -> closedir dirfd +let rec print_list lst = + match lst with + | [] -> [] + | hd::tl -> + let _ = Printf.printf "%s\n" hd in + print_list tl let num = Array.length Sys.argv let _ = if num == 2 then begin (*Printf.printf "%s\n" Sys.argv.(1) *) - main Sys.argv.(1) + let _ = main Sys.argv.(1) in + let _ = print_list !files in + Printf.printf "\n" end else + begin main "." + end |