Просмотр исходного кода

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

Arch Librarian лет назад: 22
Родитель
Сommit
f08fcf34ca
2 измененных файлов с 8 добавлено и 3 удалено
  1. 6 1
      apt-pkg/contrib/fileutl.cc
  2. 2 2
      apt-pkg/contrib/fileutl.h

+ 6 - 1
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)

+ 2 - 2
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);