]> git.saurik.com Git - apt.git/blobdiff - methods/rred.cc
rred: truncate result file before writing to it
[apt.git] / methods / rred.cc
index 8573c39224c5da40d42b1c068c4726cd4e0ffb52..2002da743bda8a8b925d060e230e74cd3c2c4ca6 100644 (file)
@@ -665,7 +665,7 @@ class RredMethod : public aptMethod {
            std::cerr << "FAILED to open inp " << Path << std::endl;
            return _error->Error("Failed to open inp %s", Path.c_str());
         }
            std::cerr << "FAILED to open inp " << Path << std::endl;
            return _error->Error("Failed to open inp %s", Path.c_str());
         }
-        if (out.Open(Itm->DestFile, FileFd::WriteOnly | FileFd::Create | FileFd::BufferedWrite, FileFd::Extension) == false)
+        if (out.Open(Itm->DestFile, FileFd::WriteOnly | FileFd::Create | FileFd::Empty | FileFd::BufferedWrite, FileFd::Extension) == false)
         {
            std::cerr << "FAILED to open out " << Itm->DestFile << std::endl;
            return _error->Error("Failed to open out %s", Itm->DestFile.c_str());
         {
            std::cerr << "FAILED to open out " << Itm->DestFile << std::endl;
            return _error->Error("Failed to open out %s", Itm->DestFile.c_str());
@@ -764,7 +764,7 @@ int main(int argc, char **argv)
       FileFd out, inp;
       std::cerr << "Patching " << argv[2] << " into " << argv[3] << "\n";
       inp.Open(argv[2], FileFd::ReadOnly,FileFd::Extension);
       FileFd out, inp;
       std::cerr << "Patching " << argv[2] << " into " << argv[3] << "\n";
       inp.Open(argv[2], FileFd::ReadOnly,FileFd::Extension);
-      out.Open(argv[3], FileFd::WriteOnly | FileFd::Create | FileFd::BufferedWrite, FileFd::Extension);
+      out.Open(argv[3], FileFd::WriteOnly | FileFd::Create | FileFd::Empty | FileFd::BufferedWrite, FileFd::Extension);
       patch.apply_against_file(out, inp);
       out.Close();
    } else if (just_diff) {
       patch.apply_against_file(out, inp);
       out.Close();
    } else if (just_diff) {