From c8f3e99302e65a0c10bc82df49789d159bf17e5c Mon Sep 17 00:00:00 2001 From: Pino Toscano Date: Mon, 7 Jul 2014 19:30:29 +0200 Subject: [PATCH] mllib: introduce Mkdtemp.temp_dir Add a simple function to ease the usage of Mkdtemp.mkdtemp. --- mllib/mkdtemp.ml | 5 +++++ mllib/mkdtemp.mli | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/mllib/mkdtemp.ml b/mllib/mkdtemp.ml index 2e648626c..353b04ba4 100644 --- a/mllib/mkdtemp.ml +++ b/mllib/mkdtemp.ml @@ -16,4 +16,9 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. *) +open Common_utils + external mkdtemp : string -> string = "virt_builder_mkdtemp" + +let temp_dir ?(base_dir = Filename.temp_dir_name) prefix suffix = + mkdtemp (base_dir // (prefix ^ "XXXXXX" ^ suffix)) diff --git a/mllib/mkdtemp.mli b/mllib/mkdtemp.mli index 674e6f257..9abb10cb5 100644 --- a/mllib/mkdtemp.mli +++ b/mllib/mkdtemp.mli @@ -18,3 +18,10 @@ val mkdtemp : string -> string (** [mkdtemp pattern] Tiny wrapper to the C [mkdtemp]. *) + +val temp_dir : ?base_dir:string -> string -> string -> string +(** [temp_dir prefix suffix] creates a new unique temporary directory. + + The optional [~base_dir:string] changes the base directory where + to create the new temporary directory; if not specified, the default + [Filename.temp_dir_name] is used. *)