]> git.saurik.com Git - apt.git/commitdiff
BufferedWriteFileFdPrivate: Simplify InternalWrite()
authorJulian Andres Klode <jak@debian.org>
Mon, 1 Feb 2016 15:28:43 +0000 (16:28 +0100)
committerJulian Andres Klode <jak@debian.org>
Mon, 1 Feb 2016 15:29:13 +0000 (16:29 +0100)
We do not need the loop, FileFd::Private() handles this for us.

Gbp-Dch: ignore

apt-pkg/contrib/fileutl.cc

index 004df3fe8d33ffc8e793543570723ba75b3198c0..d95748aa6f6a0bb1c362663fac3b24d6e180ae08 100644 (file)
@@ -1260,16 +1260,10 @@ public:
    }
    virtual ssize_t InternalWrite(void const * const From, unsigned long long const Size) override
    {
-      size_t written = 0;
+      auto written = writebuffer.write(From, Size);
 
-      while (written < Size) {
-        auto buffered = writebuffer.write(static_cast<char const*>(From) + written, Size - written);
-
-        written += buffered;
-
-        if (writebuffer.full() && InternalFlush() == false)
-              return -1;
-      }
+      if (writebuffer.full() && InternalFlush() == false)
+        return -1;
 
       return written;
    }