diff options
-rw-r--r-- | src/connection.cpp | 7 | ||||
-rw-r--r-- | src/sfile.cpp | 38 | ||||
-rw-r--r-- | src/sfile.h | 7 | ||||
-rw-r--r-- | src/stream.h | 7 | ||||
-rw-r--r-- | src/tests/httpsrv/httpconnectionmonitor.cpp | 2 |
5 files changed, 53 insertions, 8 deletions
diff --git a/src/connection.cpp b/src/connection.cpp index 748d56d..bf687ec 100644 --- a/src/connection.cpp +++ b/src/connection.cpp | |||
@@ -292,8 +292,11 @@ bool Connection::readInput( int nSec, int nUSec, int *pnSecBack, int *pnUSecBack | |||
292 | st = ust = 0; | 292 | st = ust = 0; |
293 | } | 293 | } |
294 | 294 | ||
295 | *pnSecBack = st; | 295 | if( pnSecBack ) |
296 | *pnUSecBack = ust; | 296 | { |
297 | *pnSecBack = st; | ||
298 | *pnUSecBack = ust; | ||
299 | } | ||
297 | 300 | ||
298 | //printf("New time: %d %d\n", *pnSecBack, *pnUSecBack ); | 301 | //printf("New time: %d %d\n", *pnSecBack, *pnUSecBack ); |
299 | 302 | ||
diff --git a/src/sfile.cpp b/src/sfile.cpp index 9c5f830..3f5144d 100644 --- a/src/sfile.cpp +++ b/src/sfile.cpp | |||
@@ -22,16 +22,48 @@ void SFile::close() | |||
22 | size_t SFile::read( char *pBuf, size_t nBytes ) | 22 | size_t SFile::read( char *pBuf, size_t nBytes ) |
23 | { | 23 | { |
24 | if( !fh ) | 24 | if( !fh ) |
25 | throw FileException("SFile not open."); | 25 | throw FileException("File not open."); |
26 | 26 | ||
27 | return fread( pBuf, 1, nBytes, fh ); | 27 | return fread( pBuf, 1, nBytes, fh ); |
28 | } | 28 | } |
29 | 29 | ||
30 | size_t SFile::write( char *pBuf, size_t nBytes ) | 30 | size_t SFile::write( const char *pBuf, size_t nBytes ) |
31 | { | 31 | { |
32 | if( !fh ) | 32 | if( !fh ) |
33 | throw FileException("SFile not open."); | 33 | throw FileException("File not open."); |
34 | 34 | ||
35 | return fwrite( pBuf, 1, nBytes, fh ); | 35 | return fwrite( pBuf, 1, nBytes, fh ); |
36 | } | 36 | } |
37 | 37 | ||
38 | long SFile::tell() | ||
39 | { | ||
40 | if( !fh ) | ||
41 | throw FileException("File not open."); | ||
42 | |||
43 | return ftell( fh ); | ||
44 | } | ||
45 | |||
46 | void SFile::seek( long offset ) | ||
47 | { | ||
48 | if( !fh ) | ||
49 | throw FileException("File not open."); | ||
50 | |||
51 | fseek( fh, offset, SEEK_CUR ); | ||
52 | } | ||
53 | |||
54 | void SFile::setPos( long pos ) | ||
55 | { | ||
56 | if( !fh ) | ||
57 | throw FileException("File not open."); | ||
58 | |||
59 | fseek( fh, pos, SEEK_SET ); | ||
60 | } | ||
61 | |||
62 | void SFile::setPosEnd( long pos ) | ||
63 | { | ||
64 | if( !fh ) | ||
65 | throw FileException("File not open."); | ||
66 | |||
67 | fseek( fh, pos, SEEK_END ); | ||
68 | } | ||
69 | |||
diff --git a/src/sfile.h b/src/sfile.h index f94aef7..f276ad2 100644 --- a/src/sfile.h +++ b/src/sfile.h | |||
@@ -13,7 +13,12 @@ public: | |||
13 | 13 | ||
14 | virtual void close(); | 14 | virtual void close(); |
15 | virtual size_t read( char *pBuf, size_t nBytes ); | 15 | virtual size_t read( char *pBuf, size_t nBytes ); |
16 | virtual size_t write( char *pBuf, size_t nBytes ); | 16 | virtual size_t write( const char *pBuf, size_t nBytes ); |
17 | |||
18 | virtual long tell(); | ||
19 | virtual void seek( long offset ); | ||
20 | virtual void setPos( long pos ); | ||
21 | virtual void setPosEnd( long pos ); | ||
17 | 22 | ||
18 | private: | 23 | private: |
19 | FILE *fh; | 24 | FILE *fh; |
diff --git a/src/stream.h b/src/stream.h index 086e4a1..32e5432 100644 --- a/src/stream.h +++ b/src/stream.h | |||
@@ -12,7 +12,12 @@ public: | |||
12 | 12 | ||
13 | virtual void close() = 0; | 13 | virtual void close() = 0; |
14 | virtual size_t read( char *pBuf, size_t nBytes ) = 0; | 14 | virtual size_t read( char *pBuf, size_t nBytes ) = 0; |
15 | virtual size_t write( char *pBuf, size_t nBytes ) = 0; | 15 | virtual size_t write( const char *pBuf, size_t nBytes ) = 0; |
16 | |||
17 | virtual long tell() = 0; | ||
18 | virtual void seek( long offset ) = 0; | ||
19 | virtual void setPos( long pos ) = 0; | ||
20 | virtual void setPosEnd( long pos ) = 0; | ||
16 | 21 | ||
17 | private: | 22 | private: |
18 | 23 | ||
diff --git a/src/tests/httpsrv/httpconnectionmonitor.cpp b/src/tests/httpsrv/httpconnectionmonitor.cpp index ee1eab3..451478e 100644 --- a/src/tests/httpsrv/httpconnectionmonitor.cpp +++ b/src/tests/httpsrv/httpconnectionmonitor.cpp | |||
@@ -13,11 +13,11 @@ HttpConnectionMonitor::~HttpConnectionMonitor() | |||
13 | bool HttpConnectionMonitor::onNewConnection( Connection *pCon, int nPort ) | 13 | bool HttpConnectionMonitor::onNewConnection( Connection *pCon, int nPort ) |
14 | { | 14 | { |
15 | printf("Got connection on port %d\n", nPort ); | 15 | printf("Got connection on port %d\n", nPort ); |
16 | Http hp( pCon ); | ||
17 | 16 | ||
18 | pCon->readInput( 60, 0 ); | 17 | pCon->readInput( 60, 0 ); |
19 | printf("#######################\n%s\n#######################\n", pCon->getInput() ); | 18 | printf("#######################\n%s\n#######################\n", pCon->getInput() ); |
20 | 19 | ||
20 | Http hp( pCon ); | ||
21 | while( hp.parseRequest() == false ); | 21 | while( hp.parseRequest() == false ); |
22 | printf("Done parsing.\n\n"); | 22 | printf("Done parsing.\n\n"); |
23 | 23 | ||