unlink file before writing it
[apps/madmutt.git] / tools / cpkg2c.mll
index a3a3782..c0a0453 100644 (file)
@@ -630,12 +630,13 @@ int luaopen_%s(lua_State *L)
     let file   = Sys.argv.(2) in
     let lexbuf = L.from_channel (open_in file) in
     let l      = (startchunk cLine file lexbuf) in
-    if Sys.argv.(3) = "-o" then
-        let ob = open_out_gen [ Open_trunc ; Open_wronly; Open_creat ] 0o444 Sys.argv.(4) in
-        match Sys.argv.(1) with
-        | "-h" -> warn ob; do_h ob l; close_out ob
-        | "-c" -> warn ob; do_c ob l; close_out ob
-        | _    -> usage ()
-    else
+    if Sys.argv.(3) = "-o" then (
+      Unix.unlink Sys.argv.(4);
+      let ob = open_out_gen [ Open_trunc ; Open_wronly; Open_creat ] 0o444 Sys.argv.(4) in
+      match Sys.argv.(1) with
+      | "-h" -> warn ob; do_h ob l; close_out ob
+      | "-c" -> warn ob; do_c ob l; close_out ob
+      | _    -> usage ()
+    ) else
       usage();
 }