]> mj.ucw.cz Git - libucw.git/commitdiff
fb-direct: Implemented temporary files.
authorMartin Mares <mj@ucw.cz>
Sat, 9 Dec 2006 19:02:48 +0000 (20:02 +0100)
committerMartin Mares <mj@ucw.cz>
Sat, 9 Dec 2006 19:02:48 +0000 (20:02 +0100)
lib/fastbuf.h
lib/fb-direct.c

index 27f0f584cefc28143d275e63be00a4bbcc7ae8fb..abcf7118499f0a76a66b5ab1b4a0aa3e11f03e1f 100644 (file)
@@ -106,7 +106,7 @@ struct asio_queue;
 struct fastbuf *fbdir_open(byte *name, uns mode, struct asio_queue *io_queue);
 struct fastbuf *fbdir_open_try(byte *name, uns mode, struct asio_queue *io_queue);
 struct fastbuf *fbdir_open_fd(int fd, struct asio_queue *io_queue);
-struct fastbuf *fbdir_open_tmp(int fd, struct asio_queue *io_queue);
+struct fastbuf *fbdir_open_tmp(struct asio_queue *io_queue);
 
 /* FastI on file descriptors with limit */
 
index a4277ec929506c760aead5f8f70dc733536c207d..9262e7e156b952663d4be78b44397c06aa977ea0 100644 (file)
@@ -356,6 +356,18 @@ fbdir_open_fd(int fd, struct asio_queue *q)
   return fbdir_open_internal(x, fd, q);
 }
 
+struct fastbuf *
+fbdir_open_tmp(struct asio_queue *q)
+{
+  byte buf[TEMP_FILE_NAME_LEN];
+  struct fastbuf *f;
+
+  temp_file_name(buf);
+  f = fbdir_open(buf, O_RDWR | O_CREAT | O_TRUNC, q);
+  bconfig(f, BCONFIG_IS_TEMP_FILE, 1);
+  return f;
+}
+
 #ifdef TEST
 
 #include "lib/getopt.h"