From c19b6cccd243107eb774c5e0bdb269265f3b5abe Mon Sep 17 00:00:00 2001
From: spiralman <spiralman>
Date: Mon, 22 Jul 2002 22:37:22 +0000
Subject: fixed some bugs with chunked transfer encoding, still doesnt work though

---
diff --git a/noncore/net/ubrowser/Makefile b/noncore/net/ubrowser/Makefile
index 4d92441..69aaf20 100644
--- a/noncore/net/ubrowser/Makefile
+++ b/noncore/net/ubrowser/Makefile
@@ -1,5 +1,5 @@
 #############################################################################
-# Automatically generated from noncore/ubrowser/Makefile.in
+# Automatically generated from noncore/net/ubrowser/Makefile.in
 # Build options from 
 #############################################################################
 
@@ -105,7 +105,7 @@ CXX	=	$(SYSCONF_CXX) $(QT_CXX_MT)
 CXXFLAGS=	$(SYSCONF_CXXFLAGS_QT) $(SYSCONF_CXXFLAGS)
 CC	=	$(SYSCONF_CC) $(QT_C_MT)
 CFLAGS	=	$(SYSCONF_CFLAGS)
-INCPATH =	-I$(OPIEDIR)/include
+INCPATH =	-I../../../include
 LFLAGS	=	$(SYSCONF_LFLAGS_QT) $(SYSCONF_RPATH_QT) $(SYSCONF_LFLAGS) $(QT_LFLAGS_MT)
 LIBS	=	$(SUBLIBS) -lqpe $(SYSCONF_LIBS_QT) $(SYSCONF_LIBS) $(SYSCONF_LIBS_QTAPP)
 MOC	=	$(SYSCONF_MOC)
@@ -113,7 +113,7 @@ UIC	=	$(SYSCONF_UIC)
 
 ####### Target
 
-DESTDIR = $(OPIEDIR)/bin/
+DESTDIR = ../../../bin/
 VER_MAJ = 1
 VER_MIN = 0
 VER_PATCH = 0
@@ -206,17 +206,17 @@ REQUIRES=
 ####### Compile
 
 main.o: main.cpp \
-		$(OPIEDIR)/include/qpe/qpeapplication.h \
+		../../../include/qpe/qpeapplication.h \
 		mainview.h \
-		$(OPIEDIR)/include/qpe/resource.h \
-		$(OPIEDIR)/include/qpe/qpetoolbar.h \
+		../../../include/qpe/resource.h \
+		../../../include/qpe/qpetoolbar.h \
 		httpfactory.h \
 		httpcomm.h
 
 mainview.o: mainview.cpp \
 		mainview.h \
-		$(OPIEDIR)/include/qpe/resource.h \
-		$(OPIEDIR)/include/qpe/qpetoolbar.h \
+		../../../include/qpe/resource.h \
+		../../../include/qpe/qpetoolbar.h \
 		httpfactory.h \
 		httpcomm.h
 
@@ -229,8 +229,8 @@ httpcomm.o: httpcomm.cpp \
 
 moc_mainview.o: moc_mainview.cpp \
 		mainview.h \
-		$(OPIEDIR)/include/qpe/resource.h \
-		$(OPIEDIR)/include/qpe/qpetoolbar.h \
+		../../../include/qpe/resource.h \
+		../../../include/qpe/qpetoolbar.h \
 		httpfactory.h \
 		httpcomm.h
 
diff --git a/noncore/net/ubrowser/Makefile.in b/noncore/net/ubrowser/Makefile.in
index 010f16f..43b5111 100644
--- a/noncore/net/ubrowser/Makefile.in
+++ b/noncore/net/ubrowser/Makefile.in
@@ -6,7 +6,7 @@ CXX	=	$(SYSCONF_CXX) $(QT_CXX_MT)
 CXXFLAGS=	$(SYSCONF_CXXFLAGS_QT) $(SYSCONF_CXXFLAGS)
 CC	=	$(SYSCONF_CC) $(QT_C_MT)
 CFLAGS	=	$(SYSCONF_CFLAGS)
-INCPATH =	-I$(OPIEDIR)/include
+INCPATH =	-I../../../include
 LFLAGS	=	$(SYSCONF_LFLAGS_QT) $(SYSCONF_RPATH_QT) $(SYSCONF_LFLAGS) $(QT_LFLAGS_MT)
 LIBS	=	$(SUBLIBS) -lqpe $(SYSCONF_LIBS_QT) $(SYSCONF_LIBS) $(SYSCONF_LIBS_QTAPP)
 MOC	=	$(SYSCONF_MOC)
@@ -14,7 +14,7 @@ UIC	=	$(SYSCONF_UIC)
 
 ####### Target
 
-DESTDIR = $(OPIEDIR)/bin/
+DESTDIR = ../../../bin/
 VER_MAJ = 1
 VER_MIN = 0
 VER_PATCH = 0
@@ -107,17 +107,17 @@ REQUIRES=
 ####### Compile
 
 main.o: main.cpp \
-		$(OPIEDIR)/include/qpe/qpeapplication.h \
+		../../../include/qpe/qpeapplication.h \
 		mainview.h \
-		$(OPIEDIR)/include/qpe/resource.h \
-		$(OPIEDIR)/include/qpe/qpetoolbar.h \
+		../../../include/qpe/resource.h \
+		../../../include/qpe/qpetoolbar.h \
 		httpfactory.h \
 		httpcomm.h
 
 mainview.o: mainview.cpp \
 		mainview.h \
-		$(OPIEDIR)/include/qpe/resource.h \
-		$(OPIEDIR)/include/qpe/qpetoolbar.h \
+		../../../include/qpe/resource.h \
+		../../../include/qpe/qpetoolbar.h \
 		httpfactory.h \
 		httpcomm.h
 
@@ -130,8 +130,8 @@ httpcomm.o: httpcomm.cpp \
 
 moc_mainview.o: moc_mainview.cpp \
 		mainview.h \
-		$(OPIEDIR)/include/qpe/resource.h \
-		$(OPIEDIR)/include/qpe/qpetoolbar.h \
+		../../../include/qpe/resource.h \
+		../../../include/qpe/qpetoolbar.h \
 		httpfactory.h \
 		httpcomm.h
 
diff --git a/noncore/net/ubrowser/httpcomm.cpp b/noncore/net/ubrowser/httpcomm.cpp
index 51068db..54f7acf 100644
--- a/noncore/net/ubrowser/httpcomm.cpp
+++ b/noncore/net/ubrowser/httpcomm.cpp
@@ -136,7 +136,8 @@ void HttpComm::incoming()
 			//remove the http header, if one exists
 			if(j != 0)
 			{
-				tempQString.remove(0, j);
+				tempQString.remove(0, j+1);
+				printf("HttpComm::incoming: removing http header.  Result: \n%s", tempQString.latin1());
 			}
 			while(!done)
 			{
@@ -149,23 +150,28 @@ void HttpComm::incoming()
 					sclength.truncate(j);
 					clength = sclength.toUInt(0, 16);
 					printf("HttpComm::Incoming: chunk length: %d\n", clength);
+					//end of data
 					if(clength==0)
 					{
 						processBody();
 						done=true;
 					}
+					//still more, but it hasnt been recieved yet
 					if(ba <= j)
 					{
 						status=1;
 						done=true;
-//						break;
+						break;
 					}
+					//still more data waiting
 					else
 					{
 						done=false;
+						//remove the chunk length header
+						tempQString.remove(0,j+1);
 					}
 					bRead=0;
-					break;
+//					break;
 				//if there is more fall through to:
 				//chunk length just read, still more in tempQstring
 				case 1:
@@ -174,6 +180,7 @@ void HttpComm::incoming()
 					{
 						QString newTQstring = tempQString;
 						newTQstring.truncate(clength-bRead);
+						bRead+=newTQstring.length();
 						body+=newTQstring;
 						printf("HttpComm::incoming: start new body piece 1: \n");
 						printf("%s", newTQstring.latin1() );
@@ -181,7 +188,7 @@ void HttpComm::incoming()
 						status=0;
 						j=clength-bRead;
 						done=false;
-						break;
+//						break;
 					}
 					//the chunk extends beyond the current data;
 					else
@@ -192,10 +199,42 @@ void HttpComm::incoming()
 						printf("%s", tempQString.latin1() );
 						printf("HttpComm::incoming: end new body piece 2.\n");
 						done=true;
-						break;
+						status=2;
+//						break;
+					}
+					break;
+				//just got data in, continue reading chunk
+				case 2:
+					//the current data extends beyond the end of the chunk
+					if(bRead + tempQString.length() > clength)
+					{
+						QString newTQstring = tempQString;
+						newTQstring.truncate(clength-bRead);
+						bRead+=newTQstring.length();
+						body+=newTQstring;
+						printf("HttpComm::incoming: start new body piece 3: \n");
+						printf("%s", newTQstring.latin1() );
+						printf("HttpComm::incoming: end new body piece 3.\n");
+						status=0;
+						j=clength-bRead;
+						done=false;
+//						break;
+					}
+					//the chunk extends beyond the current data;
+					else
+					{
+						body+=tempQString;
+						bRead+=ba;
+						printf("HttpComm::incoming: start new body piece 4: \n");
+						printf("%s", tempQString.latin1() );
+						printf("HttpComm::incoming: end new body piece 4.\n");
+						done=true;
+						status=2;
+//						break;
 					}
 					break;
 				}
+				printf("HttpComm::incoming: chunked encoding: bRead: %d\n", bRead);
 			}
 		}
 	}
--
cgit v0.9.0.2