From: Julian Andres Klode Date: Sat, 26 Dec 2015 21:23:43 +0000 (+0100) Subject: Refactor InternalReadLine to not unroll Size == 0 case X-Git-Tag: 1.1.8~2 X-Git-Url: https://git.saurik.com/apt.git/commitdiff_plain/01152444ba96051fa0ca90b08dcbb8fec9d81745 Refactor InternalReadLine to not unroll Size == 0 case There is not much point and this is more readable. Gbp-Dch: ignore --- 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; }