wget: strip trailing whitespace from e.g. "Content-length: 120 "

function                                             old     new   delta
wget_main                                           2395    2427     +32

Signed-off-by: Matthijs van de Water <matthijs.van.de.water@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Matthijs van de Water 2009-08-22 20:19:48 +02:00 committed by Denys Vlasenko
parent 0da1c0a732
commit 0d5866624d

View File

@ -880,7 +880,14 @@ However, in real world it was observed that some web servers
*/ */
while ((str = gethdr(buf, sizeof(buf), sfp /*, &n*/)) != NULL) { while ((str = gethdr(buf, sizeof(buf), sfp /*, &n*/)) != NULL) {
/* gethdr converted "FOO:" string to lowercase */ /* gethdr converted "FOO:" string to lowercase */
smalluint key = index_in_strings(keywords, buf) + 1; smalluint key;
/* strip trailing whitespace */
char *s = strchrnul(str, '\0') - 1;
while (s >= str && (*s == ' ' || *s == '\t')) {
*s = '\0';
s--;
}
key = index_in_strings(keywords, buf) + 1;
if (key == KEY_content_length) { if (key == KEY_content_length) {
content_len = BB_STRTOOFF(str, NULL, 10); content_len = BB_STRTOOFF(str, NULL, 10);
if (errno || content_len < 0) { if (errno || content_len < 0) {