mirror of
https://github.com/c-cube/ocaml-containers.git
synced 2025-12-06 03:05:28 -05:00
Fix CCIO.remove* functions.
This commit is contained in:
parent
4f7ea8de64
commit
4df8e2660c
2 changed files with 20 additions and 4 deletions
|
|
@ -194,6 +194,7 @@ let tee funs g () = match g() with
|
|||
*)
|
||||
|
||||
module File = struct
|
||||
type 'a or_error = [`Ok of 'a | `Error of string]
|
||||
type t = string
|
||||
|
||||
let to_string f = f
|
||||
|
|
@ -207,9 +208,14 @@ module File = struct
|
|||
|
||||
let is_directory f = Sys.is_directory f
|
||||
|
||||
let remove f = Sys.remove f
|
||||
let remove_exn f = Sys.remove f
|
||||
|
||||
let remove_safe f = try Sys.remove f with _ -> ()
|
||||
let remove f =
|
||||
try `Ok (Sys.remove f)
|
||||
with exn ->
|
||||
`Error (Printexc.to_string exn)
|
||||
|
||||
let remove_noerr f = try Sys.remove f with _ -> ()
|
||||
|
||||
let read_dir_base d =
|
||||
if Sys.is_directory d
|
||||
|
|
|
|||
|
|
@ -134,6 +134,7 @@ See {!File.walk} if you also need to list directories:
|
|||
*)
|
||||
|
||||
module File : sig
|
||||
type 'a or_error = [`Ok of 'a | `Error of string]
|
||||
type t = string
|
||||
(** A file is always represented by its absolute path *)
|
||||
|
||||
|
|
@ -146,8 +147,17 @@ module File : sig
|
|||
|
||||
val is_directory : t -> bool
|
||||
|
||||
val remove : t -> unit
|
||||
val remove_safe : t -> unit
|
||||
val remove_exn : t -> unit
|
||||
(** [remove_exn path] tries to remove the file at [path] from the
|
||||
file system.
|
||||
|
||||
{b Raises} [Sys_error] if there is no file at [path] *)
|
||||
|
||||
val remove : t -> unit or_error
|
||||
(** Like [remove_exn] but with an error monad. *)
|
||||
|
||||
val remove_noerr : t -> unit
|
||||
(** Like [remove_exn] but do not raise any exception on failure. *)
|
||||
|
||||
val read_dir : ?recurse:bool -> t -> t gen
|
||||
(** [read_dir d] returns a sequence of files and directory contained
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue