summaryrefslogtreecommitdiff
path: root/noncore/net/ubrowser
Side-by-side diff
Diffstat (limited to 'noncore/net/ubrowser') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/ubrowser/httpcomm.cpp33
1 files changed, 26 insertions, 7 deletions
diff --git a/noncore/net/ubrowser/httpcomm.cpp b/noncore/net/ubrowser/httpcomm.cpp
index b086b58..3c14053 100644
--- a/noncore/net/ubrowser/httpcomm.cpp
+++ b/noncore/net/ubrowser/httpcomm.cpp
@@ -152,2 +152,3 @@ void HttpComm::incoming()
printf("HttpComm::Incoming: chunk length: %d\n", clength);
+ printf("HttpComm::Incoming: chunk length string: %s\n", sclength.latin1());
//end of data
@@ -162,3 +163,3 @@ void HttpComm::incoming()
{
- status=1;
+ status=2;
done=true;
@@ -189,3 +190,3 @@ void HttpComm::incoming()
status=0;
- j=clength-bRead;
+ tempQString = tempQString.remove(0, clength);
done=false;
@@ -196,4 +197,13 @@ void HttpComm::incoming()
{
- body+=tempQString;
- bRead+=tempQString.length();
+ if(tempQString.length() <= ba)
+ {
+ body+=tempQString;
+ bRead+=tempQString.length();
+ }
+ else
+ {
+ tempQString.truncate(ba);
+ body+=tempQString;
+ bRead+=tempQString.length();
+ }
printf("HttpComm::incoming: start new body piece 2: \n");
@@ -219,3 +229,3 @@ void HttpComm::incoming()
status=0;
- j=clength-bRead;
+ tempQString = tempQString.remove(0, clength);
done=false;
@@ -226,4 +236,13 @@ void HttpComm::incoming()
{
- body+=tempQString;
- bRead+=tempQString.length();
+ if(tempQString.length() <= ba)
+ {
+ body+=tempQString;
+ bRead+=tempQString.length();
+ }
+ else
+ {
+ tempQString.truncate(ba);
+ body+=tempQString;
+ bRead+=tempQString.length();
+ }
printf("HttpComm::incoming: start new body piece 4: \n");