diff options
author | Arch Librarian <arch@canonical.com> | 2004-09-20 16:56:53 +0000 |
---|---|---|
committer | Arch Librarian <arch@canonical.com> | 2004-09-20 16:56:53 +0000 |
commit | f08fcf34cacb98d46cd8ee85398994db26a80a56 (patch) | |
tree | a31ea216ea646c49870aa11dcb651ce4165e1201 /apt-pkg | |
parent | 4f3255979a2116ba0ca8e945ee8e06fe823edfc8 (diff) |
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
Diffstat (limited to 'apt-pkg')
-rw-r--r-- | apt-pkg/contrib/fileutl.cc | 7 | ||||
-rw-r--r-- | 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); |