fixed bug #1744091 - NSISdl shows negative values with buggy apache

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@5176 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
kichik 2007-06-27 11:14:21 +00:00
parent acc4233b41
commit d748e470d8
2 changed files with 15 additions and 2 deletions

View file

@ -481,3 +481,17 @@ int JNL_HTTPGet::peek_bytes(char *buf, int len)
if (m_con && m_http_state==3) return m_con->peek_bytes(buf,len);
return 0;
}
__int64 JNL_HTTPGet::content_length()
{
char *p=getheader("content-length:");
if (!p) return 0;
__int64 cl = myatoi64(p);
if (cl > 0) return cl;
// workaround for bug #1744091
// some buggy apache servers return negative values for sizes
// over 2gb - fix it for them
if (cl < 0)
return __int64(unsigned(cl));
}