From f08fcf34cacb98d46cd8ee85398994db26a80a56 Mon Sep 17 00:00:00 2001 From: Arch Librarian Date: Mon, 20 Sep 2004 16:56:53 +0000 Subject: new tempfile writing mode (WriteTemp) for FileFd class Author: tausq Date: 2001-03-03 22:36:20 GMT new tempfile writing mode (WriteTemp) for FileFd class --- apt-pkg/contrib/fileutl.cc | 7 ++++++- apt-pkg/contrib/fileutl.h | 4 ++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/apt-pkg/contrib/fileutl.cc b/apt-pkg/contrib/fileutl.cc index 0907f4dcd..fd9b93036 100644 --- a/apt-pkg/contrib/fileutl.cc +++ b/apt-pkg/contrib/fileutl.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: fileutl.cc,v 1.35 2001/02/20 07:03:17 jgg Exp $ +// $Id: fileutl.cc,v 1.36 2001/03/03 22:36:20 tausq Exp $ /* ###################################################################### File Utilities @@ -403,6 +403,11 @@ bool FileFd::Open(string FileName,OpenMode Mode, unsigned long Perms) case WriteAny: iFd = open(FileName.c_str(),O_RDWR | O_CREAT,Perms); break; + + case WriteTemp: + unlink(Filename.c_str()); + iFd = open(FileName.c_str(),O_RDWR | O_CREATE | O_EXCL,Perms); + break; } if (iFd < 0) diff --git a/apt-pkg/contrib/fileutl.h b/apt-pkg/contrib/fileutl.h index 9cf351d0b..74e0d542f 100644 --- a/apt-pkg/contrib/fileutl.h +++ b/apt-pkg/contrib/fileutl.h @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: fileutl.h,v 1.23 2001/02/20 07:03:17 jgg Exp $ +// $Id: fileutl.h,v 1.24 2001/03/03 22:36:20 tausq Exp $ /* ###################################################################### File Utilities @@ -38,7 +38,7 @@ class FileFd string FileName; public: - enum OpenMode {ReadOnly,WriteEmpty,WriteExists,WriteAny}; + enum OpenMode {ReadOnly,WriteEmpty,WriteExists,WriteAny,WriteTemp}; bool Read(void *To,unsigned long Size,bool AllowEof = false); bool Write(const void *From,unsigned long Size); -- cgit v1.2.3