diff options
author | Michael Vogt <michael.vogt@ubuntu.com> | 2006-06-26 06:30:09 +0200 |
---|---|---|
committer | Michael Vogt <michael.vogt@ubuntu.com> | 2006-06-26 06:30:09 +0200 |
commit | a23dcda4a75ead3ef9712d90300f45155856b6ce (patch) | |
tree | 8951be2e20b5403c4339fa246b59d7770c8e2e46 /methods/http.cc | |
parent | bc03039d0f532b6463de33bff60c7d876af6ea5e (diff) | |
parent | b90d7d855709c49a6d5faff0ac65b96fd15e4500 (diff) |
* merged with mainline
Diffstat (limited to 'methods/http.cc')
-rw-r--r-- | methods/http.cc | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/methods/http.cc b/methods/http.cc index dc3f0b763..341de94e3 100644 --- a/methods/http.cc +++ b/methods/http.cc @@ -241,28 +241,23 @@ bool CircleBuf::WriteTillEl(string &Data,bool Single) if (Buf[I%Size] != '\n') continue; ++I; - if (I < InP && Buf[I%Size] == '\r') - ++I; if (Single == false) { - if (Buf[I%Size] != '\n') - continue; - ++I; if (I < InP && Buf[I%Size] == '\r') ++I; + if (I >= InP || Buf[I%Size] != '\n') + continue; + ++I; } - if (I > InP) - I = InP; - Data = ""; while (OutP < I) { unsigned long Sz = LeftWrite(); if (Sz == 0) return false; - if (I - OutP < LeftWrite()) + if (I - OutP < Sz) Sz = I - OutP; Data += string((char *)(Buf + (OutP%Size)),Sz); OutP += Sz; |