summaryrefslogtreecommitdiff
authorspiralman <spiralman>2002-07-22 22:37:22 (UTC)
committer spiralman <spiralman>2002-07-22 22:37:22 (UTC)
commitc19b6cccd243107eb774c5e0bdb269265f3b5abe (patch) (side-by-side diff)
tree9c888fb5a6a09d102df3143b9458465c11e7380a
parent0433711d6f7190073c476a2f771dfce879ef87e5 (diff)
downloadopie-c19b6cccd243107eb774c5e0bdb269265f3b5abe.zip
opie-c19b6cccd243107eb774c5e0bdb269265f3b5abe.tar.gz
opie-c19b6cccd243107eb774c5e0bdb269265f3b5abe.tar.bz2
fixed some bugs with chunked transfer encoding, still doesnt work though
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/ubrowser/Makefile20
-rw-r--r--noncore/net/ubrowser/Makefile.in18
-rw-r--r--noncore/net/ubrowser/httpcomm.cpp49
3 files changed, 63 insertions, 24 deletions
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,8 +1,8 @@
#############################################################################
-# Automatically generated from noncore/ubrowser/Makefile.in
+# Automatically generated from noncore/net/ubrowser/Makefile.in
# Build options from
#############################################################################
# Compiling
INTERFACE_DECL_PATH = .
SYSCONF_CXX = arm-linux-g++
@@ -102,21 +102,21 @@ SYSCONF_LIBS_QTAPP =
####### Compiler, tools and options
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)
UIC = $(SYSCONF_UIC)
####### Target
-DESTDIR = $(OPIEDIR)/bin/
+DESTDIR = ../../../bin/
VER_MAJ = 1
VER_MIN = 0
VER_PATCH = 0
TARGET = ubrowser
TARGET1 = lib$(TARGET).so.$(VER_MAJ)
@@ -203,37 +203,37 @@ 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
httpfactory.o: httpfactory.cpp \
httpfactory.h \
httpcomm.h
httpcomm.o: httpcomm.cpp \
httpcomm.h
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
moc_httpcomm.o: moc_httpcomm.cpp \
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
@@ -3,21 +3,21 @@
####### Compiler, tools and options
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)
UIC = $(SYSCONF_UIC)
####### Target
-DESTDIR = $(OPIEDIR)/bin/
+DESTDIR = ../../../bin/
VER_MAJ = 1
VER_MIN = 0
VER_PATCH = 0
TARGET = ubrowser
TARGET1 = lib$(TARGET).so.$(VER_MAJ)
@@ -104,37 +104,37 @@ 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
httpfactory.o: httpfactory.cpp \
httpfactory.h \
httpcomm.h
httpcomm.o: httpcomm.cpp \
httpcomm.h
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
moc_httpcomm.o: moc_httpcomm.cpp \
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
@@ -133,72 +133,111 @@ void HttpComm::incoming()
else
{
QString tempQString = tempString;
//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)
{
switch(status)
{
//case 0=need to read chunk length
case 0:
j = tempQString.find('\n');
sclength = tempQString;
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:
//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 1: \n");
printf("%s", newTQstring.latin1() );
printf("HttpComm::incoming: end new body piece 1.\n");
status=0;
j=clength-bRead;
done=false;
- break;
+// break;
}
//the chunk extends beyond the current data;
else
{
body+=tempQString;
bRead+=ba;
printf("HttpComm::incoming: start new body piece 2: \n");
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);
}
}
}
delete tempString;
}