diff options
| author | Mike Buland <eichlan@xagasoft.com> | 2008-09-24 19:31:37 +0000 |
|---|---|---|
| committer | Mike Buland <eichlan@xagasoft.com> | 2008-09-24 19:31:37 +0000 |
| commit | 1ca201c4151ce6e4ac4921c641fec7d21d64752c (patch) | |
| tree | c8e6a63ec39a979fa8706284b43efd5b2d69e17f | |
| parent | dea750e9470f1be61f8afd3eb0ee45a57ed4976a (diff) | |
| download | libbu++-1ca201c4151ce6e4ac4921c641fec7d21d64752c.tar.gz libbu++-1ca201c4151ce6e4ac4921c641fec7d21d64752c.tar.bz2 libbu++-1ca201c4151ce6e4ac4921c641fec7d21d64752c.tar.xz libbu++-1ca201c4151ce6e4ac4921c641fec7d21d64752c.zip | |
Something may be wrong.
Diffstat (limited to '')
| -rw-r--r-- | src/array.h | 4 | ||||
| -rw-r--r-- | src/bzip2.cpp | 13 | ||||
| -rw-r--r-- | src/fstring.h | 5 | ||||
| -rw-r--r-- | src/trace.h | 7 | ||||
| -rw-r--r-- | src/unit/array.cpp | 13 |
5 files changed, 34 insertions, 8 deletions
diff --git a/src/array.h b/src/array.h index 9233875..e8d8b30 100644 --- a/src/array.h +++ b/src/array.h | |||
| @@ -157,6 +157,8 @@ namespace Bu | |||
| 157 | src( src ), | 157 | src( src ), |
| 158 | iPos( iPos ) | 158 | iPos( iPos ) |
| 159 | { | 159 | { |
| 160 | if( this->iPos >= src.getSize() ) | ||
| 161 | this->iPos = -1; | ||
| 160 | } | 162 | } |
| 161 | 163 | ||
| 162 | MyType &src; | 164 | MyType &src; |
| @@ -218,6 +220,8 @@ namespace Bu | |||
| 218 | src( src ), | 220 | src( src ), |
| 219 | iPos( iPos ) | 221 | iPos( iPos ) |
| 220 | { | 222 | { |
| 223 | if( this->iPos >= src.getSize() ) | ||
| 224 | this->iPos = -1; | ||
| 221 | } | 225 | } |
| 222 | 226 | ||
| 223 | const MyType &src; | 227 | const MyType &src; |
diff --git a/src/bzip2.cpp b/src/bzip2.cpp index 9108bcf..c367cff 100644 --- a/src/bzip2.cpp +++ b/src/bzip2.cpp | |||
| @@ -7,6 +7,8 @@ | |||
| 7 | 7 | ||
| 8 | #include "bu/bzip2.h" | 8 | #include "bu/bzip2.h" |
| 9 | #include "bu/exceptions.h" | 9 | #include "bu/exceptions.h" |
| 10 | #define BU_TRACE | ||
| 11 | #include "bu/trace.h" | ||
| 10 | 12 | ||
| 11 | using namespace Bu; | 13 | using namespace Bu; |
| 12 | 14 | ||
| @@ -14,16 +16,19 @@ Bu::BZip2::BZip2( Bu::Stream &rNext, int nCompression ) : | |||
| 14 | Bu::Filter( rNext ), | 16 | Bu::Filter( rNext ), |
| 15 | nCompression( nCompression ) | 17 | nCompression( nCompression ) |
| 16 | { | 18 | { |
| 19 | TRACE( nCompression ); | ||
| 17 | start(); | 20 | start(); |
| 18 | } | 21 | } |
| 19 | 22 | ||
| 20 | Bu::BZip2::~BZip2() | 23 | Bu::BZip2::~BZip2() |
| 21 | { | 24 | { |
| 25 | TRACE(); | ||
| 22 | stop(); | 26 | stop(); |
| 23 | } | 27 | } |
| 24 | 28 | ||
| 25 | void Bu::BZip2::start() | 29 | void Bu::BZip2::start() |
| 26 | { | 30 | { |
| 31 | TRACE(); | ||
| 27 | bzState.state = NULL; | 32 | bzState.state = NULL; |
| 28 | bzState.bzalloc = NULL; | 33 | bzState.bzalloc = NULL; |
| 29 | bzState.bzfree = NULL; | 34 | bzState.bzfree = NULL; |
| @@ -35,6 +40,7 @@ void Bu::BZip2::start() | |||
| 35 | 40 | ||
| 36 | size_t Bu::BZip2::stop() | 41 | size_t Bu::BZip2::stop() |
| 37 | { | 42 | { |
| 43 | TRACE(); | ||
| 38 | if( bzState.state ) | 44 | if( bzState.state ) |
| 39 | { | 45 | { |
| 40 | if( bReading ) | 46 | if( bReading ) |
| @@ -72,6 +78,7 @@ size_t Bu::BZip2::stop() | |||
| 72 | 78 | ||
| 73 | void Bu::BZip2::bzError( int code ) | 79 | void Bu::BZip2::bzError( int code ) |
| 74 | { | 80 | { |
| 81 | TRACE( code ); | ||
| 75 | switch( code ) | 82 | switch( code ) |
| 76 | { | 83 | { |
| 77 | case BZ_OK: | 84 | case BZ_OK: |
| @@ -115,10 +122,12 @@ void Bu::BZip2::bzError( int code ) | |||
| 115 | 122 | ||
| 116 | size_t Bu::BZip2::read( void *pData, size_t nBytes ) | 123 | size_t Bu::BZip2::read( void *pData, size_t nBytes ) |
| 117 | { | 124 | { |
| 125 | TRACE( pData, nBytes ); | ||
| 126 | printf("READ!!!\n"); | ||
| 118 | if( !bzState.state ) | 127 | if( !bzState.state ) |
| 119 | { | 128 | { |
| 120 | bReading = true; | 129 | bReading = true; |
| 121 | BZ2_bzDecompressInit( &bzState, 0, 0 ); | 130 | BZ2_bzDecompressInit( &bzState, 7, 0 ); |
| 122 | bzState.next_in = pBuf; | 131 | bzState.next_in = pBuf; |
| 123 | bzState.avail_in = 0; | 132 | bzState.avail_in = 0; |
| 124 | } | 133 | } |
| @@ -167,6 +176,7 @@ size_t Bu::BZip2::read( void *pData, size_t nBytes ) | |||
| 167 | 176 | ||
| 168 | size_t Bu::BZip2::write( const void *pData, size_t nBytes ) | 177 | size_t Bu::BZip2::write( const void *pData, size_t nBytes ) |
| 169 | { | 178 | { |
| 179 | TRACE( pData, nBytes ); | ||
| 170 | if( !bzState.state ) | 180 | if( !bzState.state ) |
| 171 | { | 181 | { |
| 172 | bReading = false; | 182 | bReading = false; |
| @@ -198,6 +208,7 @@ size_t Bu::BZip2::write( const void *pData, size_t nBytes ) | |||
| 198 | 208 | ||
| 199 | bool Bu::BZip2::isOpen() | 209 | bool Bu::BZip2::isOpen() |
| 200 | { | 210 | { |
| 211 | TRACE(); | ||
| 201 | return (bzState.state != NULL); | 212 | return (bzState.state != NULL); |
| 202 | } | 213 | } |
| 203 | 214 | ||
diff --git a/src/fstring.h b/src/fstring.h index bc23e57..167c055 100644 --- a/src/fstring.h +++ b/src/fstring.h | |||
| @@ -21,10 +21,6 @@ | |||
| 21 | #include "bu/hash.h" | 21 | #include "bu/hash.h" |
| 22 | #include "bu/util.h" | 22 | #include "bu/util.h" |
| 23 | 23 | ||
| 24 | #ifndef min | ||
| 25 | #define min( a, b ) ((a<b)?(a):(b)) | ||
| 26 | #endif | ||
| 27 | |||
| 28 | namespace Bu | 24 | namespace Bu |
| 29 | { | 25 | { |
| 30 | template< typename chr > | 26 | template< typename chr > |
| @@ -1070,6 +1066,7 @@ namespace Bu | |||
| 1070 | } | 1066 | } |
| 1071 | 1067 | ||
| 1072 | #ifdef BU_TRACE | 1068 | #ifdef BU_TRACE |
| 1069 | template<typename t> void __tracer_format( const t &v ); | ||
| 1073 | template<> void __tracer_format<FString>( const FString &v ); | 1070 | template<> void __tracer_format<FString>( const FString &v ); |
| 1074 | #endif | 1071 | #endif |
| 1075 | } | 1072 | } |
diff --git a/src/trace.h b/src/trace.h index 7a1f368..82399c2 100644 --- a/src/trace.h +++ b/src/trace.h | |||
| @@ -45,6 +45,7 @@ namespace Bu | |||
| 45 | looper( v1 ); | 45 | looper( v1 ); |
| 46 | fwrite( s, (ptrdiff_t)n-(ptrdiff_t)s, 1, stdout ); | 46 | fwrite( s, (ptrdiff_t)n-(ptrdiff_t)s, 1, stdout ); |
| 47 | fwrite( "\n", 1, 1, stdout ); | 47 | fwrite( "\n", 1, 1, stdout ); |
| 48 | fflush( stdout ); | ||
| 48 | } | 49 | } |
| 49 | 50 | ||
| 50 | template<typename t1, typename t2> void __tracer( const char *pf, | 51 | template<typename t1, typename t2> void __tracer( const char *pf, |
| @@ -57,6 +58,7 @@ namespace Bu | |||
| 57 | looper( v2 ); | 58 | looper( v2 ); |
| 58 | fwrite( s, (ptrdiff_t)n-(ptrdiff_t)s, 1, stdout ); | 59 | fwrite( s, (ptrdiff_t)n-(ptrdiff_t)s, 1, stdout ); |
| 59 | fwrite( "\n", 1, 1, stdout ); | 60 | fwrite( "\n", 1, 1, stdout ); |
| 61 | fflush( stdout ); | ||
| 60 | } | 62 | } |
| 61 | 63 | ||
| 62 | template<typename t1, typename t2, typename t3> | 64 | template<typename t1, typename t2, typename t3> |
| @@ -70,6 +72,7 @@ namespace Bu | |||
| 70 | looper( v3 ); | 72 | looper( v3 ); |
| 71 | fwrite( s, (ptrdiff_t)n-(ptrdiff_t)s, 1, stdout ); | 73 | fwrite( s, (ptrdiff_t)n-(ptrdiff_t)s, 1, stdout ); |
| 72 | fwrite( "\n", 1, 1, stdout ); | 74 | fwrite( "\n", 1, 1, stdout ); |
| 75 | fflush( stdout ); | ||
| 73 | } | 76 | } |
| 74 | 77 | ||
| 75 | template<typename t1, typename t2, typename t3, typename t4> | 78 | template<typename t1, typename t2, typename t3, typename t4> |
| @@ -84,6 +87,7 @@ namespace Bu | |||
| 84 | looper( v4 ); | 87 | looper( v4 ); |
| 85 | fwrite( s, (ptrdiff_t)n-(ptrdiff_t)s, 1, stdout ); | 88 | fwrite( s, (ptrdiff_t)n-(ptrdiff_t)s, 1, stdout ); |
| 86 | fwrite( "\n", 1, 1, stdout ); | 89 | fwrite( "\n", 1, 1, stdout ); |
| 90 | fflush( stdout ); | ||
| 87 | } | 91 | } |
| 88 | 92 | ||
| 89 | template<typename t1, typename t2, typename t3, typename t4, typename t5> | 93 | template<typename t1, typename t2, typename t3, typename t4, typename t5> |
| @@ -99,6 +103,7 @@ namespace Bu | |||
| 99 | looper( v5 ); | 103 | looper( v5 ); |
| 100 | fwrite( s, (ptrdiff_t)n-(ptrdiff_t)s, 1, stdout ); | 104 | fwrite( s, (ptrdiff_t)n-(ptrdiff_t)s, 1, stdout ); |
| 101 | fwrite( "\n", 1, 1, stdout ); | 105 | fwrite( "\n", 1, 1, stdout ); |
| 106 | fflush( stdout ); | ||
| 102 | } | 107 | } |
| 103 | 108 | ||
| 104 | template<typename t1, typename t2, typename t3, typename t4, typename t5, | 109 | template<typename t1, typename t2, typename t3, typename t4, typename t5, |
| @@ -117,6 +122,7 @@ namespace Bu | |||
| 117 | looper( v6 ); | 122 | looper( v6 ); |
| 118 | fwrite( s, (ptrdiff_t)n-(ptrdiff_t)s, 1, stdout ); | 123 | fwrite( s, (ptrdiff_t)n-(ptrdiff_t)s, 1, stdout ); |
| 119 | fwrite( "\n", 1, 1, stdout ); | 124 | fwrite( "\n", 1, 1, stdout ); |
| 125 | fflush( stdout ); | ||
| 120 | } | 126 | } |
| 121 | 127 | ||
| 122 | template<typename t1, typename t2, typename t3, typename t4, typename t5, | 128 | template<typename t1, typename t2, typename t3, typename t4, typename t5, |
| @@ -136,6 +142,7 @@ namespace Bu | |||
| 136 | looper( v7 ); | 142 | looper( v7 ); |
| 137 | fwrite( s, (ptrdiff_t)n-(ptrdiff_t)s, 1, stdout ); | 143 | fwrite( s, (ptrdiff_t)n-(ptrdiff_t)s, 1, stdout ); |
| 138 | fwrite( "\n", 1, 1, stdout ); | 144 | fwrite( "\n", 1, 1, stdout ); |
| 145 | fflush( stdout ); | ||
| 139 | } | 146 | } |
| 140 | #undef looper | 147 | #undef looper |
| 141 | 148 | ||
diff --git a/src/unit/array.cpp b/src/unit/array.cpp index db29882..57d6c03 100644 --- a/src/unit/array.cpp +++ b/src/unit/array.cpp | |||
| @@ -15,7 +15,8 @@ public: | |||
| 15 | { | 15 | { |
| 16 | setName("Array"); | 16 | setName("Array"); |
| 17 | addTest( Unit::general ); | 17 | addTest( Unit::general ); |
| 18 | addTest( Unit::iterate ); | 18 | addTest( Unit::iterate1 ); |
| 19 | addTest( Unit::iterate2 ); | ||
| 19 | } | 20 | } |
| 20 | 21 | ||
| 21 | virtual ~Unit() | 22 | virtual ~Unit() |
| @@ -34,7 +35,7 @@ public: | |||
| 34 | unitTest( ai[1] == 10 ); | 35 | unitTest( ai[1] == 10 ); |
| 35 | } | 36 | } |
| 36 | 37 | ||
| 37 | void iterate() | 38 | void iterate1() |
| 38 | { | 39 | { |
| 39 | Bu::Array<int> ai; | 40 | Bu::Array<int> ai; |
| 40 | for( int j = 0; j < 10; j++ ) | 41 | for( int j = 0; j < 10; j++ ) |
| @@ -49,7 +50,13 @@ public: | |||
| 49 | for( Bu::Array<int>::const_iterator i = ci.begin(); i != ci.end(); i++ ) | 50 | for( Bu::Array<int>::const_iterator i = ci.begin(); i != ci.end(); i++ ) |
| 50 | unitTest( (*i) == j++ ); | 51 | unitTest( (*i) == j++ ); |
| 51 | } | 52 | } |
| 52 | 53 | ||
| 54 | void iterate2() | ||
| 55 | { | ||
| 56 | Bu::Array<int> ai; | ||
| 57 | for( Bu::Array<int>::iterator i = ai.begin(); i != ai.end(); i++ ) | ||
| 58 | unitFailed("Empty lists shouldn't be iterated through."); | ||
| 59 | } | ||
| 53 | }; | 60 | }; |
| 54 | 61 | ||
| 55 | int main( int argc, char *argv[] ) | 62 | int main( int argc, char *argv[] ) |
