]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/io/files/unix/unix.factor
io.files: implement (file-writer-secure)
[factor.git] / basis / io / files / unix / unix.factor
index 6f4e78c720db6a4ee55b5f06235f3428fdea29b1..cd74c4a9c36820105c2cc45e8df206a23ec94835 100644 (file)
@@ -34,6 +34,14 @@ CONSTANT: write-flags flags{ O_WRONLY O_CREAT O_TRUNC }
 M: unix (file-writer)
     open-write <fd> init-fd <output-port> ;
 
+CONSTANT: secure-write-flags flags{ O_WRONLY O_CREAT O_TRUNC O_EXCL }
+
+: open-secure-write ( path -- fd )
+    secure-write-flags file-mode open-file ;
+
+M: unix (file-writer-secure)
+    open-secure-write <fd> init-fd <output-port> ;
+
 CONSTANT: append-flags flags{ O_WRONLY O_APPEND O_CREAT }
 
 : open-append ( path -- fd )