From 01152444ba96051fa0ca90b08dcbb8fec9d81745 Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Sat, 26 Dec 2015 22:23:43 +0100 Subject: Refactor InternalReadLine to not unroll Size == 0 case There is not much point and this is more readable. Gbp-Dch: ignore --- apt-pkg/contrib/fileutl.cc | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'apt-pkg') diff --git a/apt-pkg/contrib/fileutl.cc b/apt-pkg/contrib/fileutl.cc index aa5831f58..99db66f03 100644 --- a/apt-pkg/contrib/fileutl.cc +++ b/apt-pkg/contrib/fileutl.cc @@ -970,13 +970,12 @@ public: { if (unlikely(Size == 0)) return nullptr; + // Read one byte less than buffer size to have space for trailing 0. --Size; - To[0] = '\0'; - if (unlikely(Size == 0)) - return To; + char * const InitialTo = To; - do { + while (Size > 0) { if (buffer.empty() == true) { buffer.reset(); @@ -1004,7 +1003,7 @@ public: Size -= actualread; if (newline != nullptr) break; - } while (Size > 0); + } *To = '\0'; return InitialTo; } -- cgit v1.2.3