diff options
author | Mike Buland <eichlan@xagasoft.com> | 2008-06-07 05:30:58 +0000 |
---|---|---|
committer | Mike Buland <eichlan@xagasoft.com> | 2008-06-07 05:30:58 +0000 |
commit | 555ba77568b6faf18ebaed06cd08615deab2d8e3 (patch) | |
tree | db4586b7849b1fbdc045c36b386dac0345b82d99 | |
parent | dc95fa94c1a8bb7249034d6fd2e61f80df48b317 (diff) | |
download | libbu++-555ba77568b6faf18ebaed06cd08615deab2d8e3.tar.gz libbu++-555ba77568b6faf18ebaed06cd08615deab2d8e3.tar.bz2 libbu++-555ba77568b6faf18ebaed06cd08615deab2d8e3.tar.xz libbu++-555ba77568b6faf18ebaed06cd08615deab2d8e3.zip |
This is a testing version. Nothing should be broken, but I won't gurantee it.
I wouldn't update to this just yet, if you have problems, back off a rev. I'm
trying to update the code to work on both 32bit, and 64bit systems, and
hopefully anything else that comes along.
Currently some of the archive code is broken, testing must be done on both
archetectures.
-rw-r--r-- | src/archive.cpp | 16 | ||||
-rw-r--r-- | src/archive.h | 5 | ||||
-rw-r--r-- | src/exceptionbase.cpp | 5 | ||||
-rw-r--r-- | src/minimacro.cpp | 8 | ||||
-rw-r--r-- | src/plugger.h | 7 | ||||
-rw-r--r-- | src/serversocket.cpp | 2 | ||||
-rw-r--r-- | src/tests/fstring.cpp | 4 | ||||
-rw-r--r-- | src/trace.cpp | 8 | ||||
-rw-r--r-- | src/trace.h | 21 | ||||
-rw-r--r-- | src/unit/archive.cpp | 111 | ||||
-rw-r--r-- | src/util.h | 1 |
11 files changed, 152 insertions, 36 deletions
diff --git a/src/archive.cpp b/src/archive.cpp index 610dc7b..d6ad18d 100644 --- a/src/archive.cpp +++ b/src/archive.cpp | |||
@@ -89,12 +89,12 @@ Bu::Archive &Bu::Archive::operator<<(uint64_t p) | |||
89 | { | 89 | { |
90 | write( &p, sizeof(p) ); | 90 | write( &p, sizeof(p) ); |
91 | return *this; | 91 | return *this; |
92 | } | 92 | }/* |
93 | Bu::Archive &Bu::Archive::operator<<(long p) | 93 | Bu::Archive &Bu::Archive::operator<<(long p) |
94 | { | 94 | { |
95 | write( &p, sizeof(p) ); | 95 | write( &p, sizeof(p) ); |
96 | return *this; | 96 | return *this; |
97 | } | 97 | }*/ |
98 | Bu::Archive &Bu::Archive::operator<<(float p) | 98 | Bu::Archive &Bu::Archive::operator<<(float p) |
99 | { | 99 | { |
100 | write( &p, sizeof(p) ); | 100 | write( &p, sizeof(p) ); |
@@ -155,12 +155,12 @@ Bu::Archive &Bu::Archive::operator>>(uint64_t &p) | |||
155 | { | 155 | { |
156 | read( &p, sizeof(p) ); | 156 | read( &p, sizeof(p) ); |
157 | return *this; | 157 | return *this; |
158 | } | 158 | }/* |
159 | Bu::Archive &Bu::Archive::operator>>(long &p) | 159 | Bu::Archive &Bu::Archive::operator>>(long &p) |
160 | { | 160 | { |
161 | read( &p, sizeof(p) ); | 161 | read( &p, sizeof(p) ); |
162 | return *this; | 162 | return *this; |
163 | } | 163 | }*/ |
164 | Bu::Archive &Bu::Archive::operator>>(float &p) | 164 | Bu::Archive &Bu::Archive::operator>>(float &p) |
165 | { | 165 | { |
166 | read( &p, sizeof(p) ); | 166 | read( &p, sizeof(p) ); |
@@ -371,9 +371,9 @@ Bu::Archive &Bu::operator>>( Bu::Archive &ar, std::string &s ) | |||
371 | 371 | ||
372 | uint32_t Bu::Archive::getID( const void *ptr ) | 372 | uint32_t Bu::Archive::getID( const void *ptr ) |
373 | { | 373 | { |
374 | if( hPtrID.has( (int)ptr ) ) | 374 | if( hPtrID.has( (ptrdiff_t)ptr ) ) |
375 | return hPtrID.get( (int)ptr ); | 375 | return hPtrID.get( (ptrdiff_t)ptr ); |
376 | hPtrID.insert( (int)ptr, nNextID ); | 376 | hPtrID.insert( (ptrdiff_t)ptr, nNextID ); |
377 | return nNextID++; | 377 | return nNextID++; |
378 | } | 378 | } |
379 | 379 | ||
@@ -393,7 +393,7 @@ void Bu::Archive::assocPtrID( void **ptr, uint32_t id ) | |||
393 | 393 | ||
394 | void Bu::Archive::readID( const void *ptr, uint32_t id ) | 394 | void Bu::Archive::readID( const void *ptr, uint32_t id ) |
395 | { | 395 | { |
396 | hPtrID.insert( id, (int)ptr ); | 396 | hPtrID.insert( id, (ptrdiff_t)ptr ); |
397 | 397 | ||
398 | if( hPtrDest.has( id ) ) | 398 | if( hPtrDest.has( id ) ) |
399 | { | 399 | { |
diff --git a/src/archive.h b/src/archive.h index 464f85f..31683bb 100644 --- a/src/archive.h +++ b/src/archive.h | |||
@@ -14,6 +14,7 @@ | |||
14 | #include "bu/hash.h" | 14 | #include "bu/hash.h" |
15 | #include "bu/list.h" | 15 | #include "bu/list.h" |
16 | #include "bu/set.h" | 16 | #include "bu/set.h" |
17 | #include "bu/util.h" | ||
17 | 18 | ||
18 | namespace Bu | 19 | namespace Bu |
19 | { | 20 | { |
@@ -96,7 +97,7 @@ namespace Bu | |||
96 | virtual Archive &operator<<(uint16_t); | 97 | virtual Archive &operator<<(uint16_t); |
97 | virtual Archive &operator<<(uint32_t); | 98 | virtual Archive &operator<<(uint32_t); |
98 | virtual Archive &operator<<(uint64_t); | 99 | virtual Archive &operator<<(uint64_t); |
99 | virtual Archive &operator<<(long); | 100 | // virtual Archive &operator<<(long); |
100 | virtual Archive &operator<<(float); | 101 | virtual Archive &operator<<(float); |
101 | virtual Archive &operator<<(double); | 102 | virtual Archive &operator<<(double); |
102 | virtual Archive &operator<<(long double); | 103 | virtual Archive &operator<<(long double); |
@@ -110,7 +111,7 @@ namespace Bu | |||
110 | virtual Archive &operator>>(uint16_t &); | 111 | virtual Archive &operator>>(uint16_t &); |
111 | virtual Archive &operator>>(uint32_t &); | 112 | virtual Archive &operator>>(uint32_t &); |
112 | virtual Archive &operator>>(uint64_t &); | 113 | virtual Archive &operator>>(uint64_t &); |
113 | virtual Archive &operator>>(long &); | 114 | // virtual Archive &operator>>(long &); |
114 | virtual Archive &operator>>(float &); | 115 | virtual Archive &operator>>(float &); |
115 | virtual Archive &operator>>(double &); | 116 | virtual Archive &operator>>(double &); |
116 | virtual Archive &operator>>(long double &); | 117 | virtual Archive &operator>>(long double &); |
diff --git a/src/exceptionbase.cpp b/src/exceptionbase.cpp index cea779d..9515e2d 100644 --- a/src/exceptionbase.cpp +++ b/src/exceptionbase.cpp | |||
@@ -55,7 +55,10 @@ void Bu::ExceptionBase::setWhat( const char *lpFormat, va_list &vargs ) | |||
55 | if( sWhat ) delete[] sWhat; | 55 | if( sWhat ) delete[] sWhat; |
56 | int nSize; | 56 | int nSize; |
57 | 57 | ||
58 | nSize = vsnprintf( NULL, 0, lpFormat, vargs ); | 58 | va_list vargs2; |
59 | va_copy( vargs2, vargs ); | ||
60 | nSize = vsnprintf( NULL, 0, lpFormat, vargs2 ); | ||
61 | va_end( vargs2 ); | ||
59 | sWhat = new char[nSize+1]; | 62 | sWhat = new char[nSize+1]; |
60 | vsnprintf( sWhat, nSize+1, lpFormat, vargs ); | 63 | vsnprintf( sWhat, nSize+1, lpFormat, vargs ); |
61 | } | 64 | } |
diff --git a/src/minimacro.cpp b/src/minimacro.cpp index c6a868f..5fd7333 100644 --- a/src/minimacro.cpp +++ b/src/minimacro.cpp | |||
@@ -62,7 +62,7 @@ Bu::FString Bu::MiniMacro::parse( const Bu::FString &sIn ) | |||
62 | } | 62 | } |
63 | } | 63 | } |
64 | 64 | ||
65 | iLastPos = (int)sCur - (int)sIn.getStr(); | 65 | iLastPos = (ptrdiff_t)sCur - (ptrdiff_t)sIn.getStr(); |
66 | 66 | ||
67 | return sOut; | 67 | return sOut; |
68 | } | 68 | } |
@@ -76,7 +76,7 @@ Bu::FString Bu::MiniMacro::parseRepl() | |||
76 | for(; *sNext != ':' && *sNext != '}' && *sNext != '\0'; sNext++ ); | 76 | for(; *sNext != ':' && *sNext != '}' && *sNext != '\0'; sNext++ ); |
77 | if( *sNext == '\0' ) | 77 | if( *sNext == '\0' ) |
78 | break; | 78 | break; |
79 | Bu::FString sName( sCur, (int)sNext-(int)sCur ); | 79 | Bu::FString sName( sCur, (ptrdiff_t)sNext-(ptrdiff_t)sCur ); |
80 | if( bIsFirst ) | 80 | if( bIsFirst ) |
81 | { | 81 | { |
82 | sOut = hVars[sName]; | 82 | sOut = hVars[sName]; |
@@ -116,7 +116,7 @@ Bu::FString Bu::MiniMacro::parseCmd() | |||
116 | for(; *sNext != ':' && *sNext != '}' && *sNext != '\0'; sNext++ ); | 116 | for(; *sNext != ':' && *sNext != '}' && *sNext != '\0'; sNext++ ); |
117 | if( *sNext != '\0' ) | 117 | if( *sNext != '\0' ) |
118 | { | 118 | { |
119 | Bu::FString sName( sCur, (int)sNext-(int)sCur ); | 119 | Bu::FString sName( sCur, (ptrdiff_t)sNext-(ptrdiff_t)sCur ); |
120 | if( sName == "end" ) | 120 | if( sName == "end" ) |
121 | { | 121 | { |
122 | sCur = sNext; | 122 | sCur = sNext; |
@@ -152,7 +152,7 @@ Bu::FString Bu::MiniMacro::callFunc( | |||
152 | for(; *s == ' ' || *s == '\t' || *s == '\r' || *s == '\n'; s++ ); | 152 | for(; *s == ' ' || *s == '\t' || *s == '\r' || *s == '\n'; s++ ); |
153 | const char *sNext; | 153 | const char *sNext; |
154 | for( sNext = s; *sNext && *sNext != ')' && *sNext != ','; sNext++ ); | 154 | for( sNext = s; *sNext && *sNext != ')' && *sNext != ','; sNext++ ); |
155 | Bu::FString p( s, (int)sNext-(int)s ); | 155 | Bu::FString p( s, (ptrdiff_t)sNext-(ptrdiff_t)s ); |
156 | lsParams.append( p ); | 156 | lsParams.append( p ); |
157 | sNext++; | 157 | sNext++; |
158 | s = sNext; | 158 | s = sNext; |
diff --git a/src/plugger.h b/src/plugger.h index 992b541..6ae0296 100644 --- a/src/plugger.h +++ b/src/plugger.h | |||
@@ -14,6 +14,7 @@ | |||
14 | #include <dlfcn.h> | 14 | #include <dlfcn.h> |
15 | #include "bu/exceptions.h" | 15 | #include "bu/exceptions.h" |
16 | #include "bu/fstring.h" | 16 | #include "bu/fstring.h" |
17 | #include <stddef.h> | ||
17 | 18 | ||
18 | namespace Bu | 19 | namespace Bu |
19 | { | 20 | { |
@@ -86,7 +87,7 @@ namespace Bu | |||
86 | { | 87 | { |
87 | public: | 88 | public: |
88 | typedef Bu::Hash<Bu::FString, PluginReg *> PluginHash; | 89 | typedef Bu::Hash<Bu::FString, PluginReg *> PluginHash; |
89 | typedef Bu::Hash<int, void *> InstHash; | 90 | typedef Bu::Hash<ptrdiff_t, void *> InstHash; |
90 | 91 | ||
91 | public: | 92 | public: |
92 | Plugger() | 93 | Plugger() |
@@ -161,7 +162,7 @@ namespace Bu | |||
161 | return NULL; | 162 | return NULL; |
162 | 163 | ||
163 | T *p = (T *)pReg->pInfo->createPlugin(); | 164 | T *p = (T *)pReg->pInfo->createPlugin(); |
164 | hObj.insert( (int )p, pReg ); | 165 | hObj.insert( (ptrdiff_t)p, pReg ); |
165 | //printf("pReg: %08X, pPlug: %08X\n", pReg, p ); | 166 | //printf("pReg: %08X, pPlug: %08X\n", pReg, p ); |
166 | 167 | ||
167 | return p; | 168 | return p; |
@@ -181,7 +182,7 @@ namespace Bu | |||
181 | 182 | ||
182 | pReg->pInfo->destroyPlugin( pPlug ); | 183 | pReg->pInfo->destroyPlugin( pPlug ); |
183 | 184 | ||
184 | hObj.erase( (int)pPlug ); | 185 | hObj.erase( (ptrdiff_t)pPlug ); |
185 | } | 186 | } |
186 | 187 | ||
187 | void unloadAll() | 188 | void unloadAll() |
diff --git a/src/serversocket.cpp b/src/serversocket.cpp index b528b6f..30f584d 100644 --- a/src/serversocket.cpp +++ b/src/serversocket.cpp | |||
@@ -117,7 +117,7 @@ int Bu::ServerSocket::accept( int nTimeoutSec, int nTimeoutUSec ) | |||
117 | if( FD_ISSET( nServer, &fdRead ) ) | 117 | if( FD_ISSET( nServer, &fdRead ) ) |
118 | { | 118 | { |
119 | struct sockaddr_in clientname; | 119 | struct sockaddr_in clientname; |
120 | size_t size; | 120 | socklen_t size; |
121 | int nClient; | 121 | int nClient; |
122 | 122 | ||
123 | size = sizeof( clientname ); | 123 | size = sizeof( clientname ); |
diff --git a/src/tests/fstring.cpp b/src/tests/fstring.cpp index 43de18f..6288ccb 100644 --- a/src/tests/fstring.cpp +++ b/src/tests/fstring.cpp | |||
@@ -34,7 +34,7 @@ Bu::FString genThing() | |||
34 | bob += "cd "; | 34 | bob += "cd "; |
35 | bob += "efg"; | 35 | bob += "efg"; |
36 | 36 | ||
37 | printf("---bob------\n%08X: %s\n", (unsigned int)bob.getStr(), | 37 | printf("---bob------\n%08tX: %s\n", (ptrdiff_t)bob.getStr(), |
38 | bob.getStr() ); | 38 | bob.getStr() ); |
39 | return bob; | 39 | return bob; |
40 | } | 40 | } |
@@ -115,7 +115,7 @@ void doTimings() | |||
115 | delete[] buf; | 115 | delete[] buf; |
116 | } | 116 | } |
117 | 117 | ||
118 | #define pem printf("---------\n%08X: %s\n%08X: %s\n", (unsigned int)str.getStr(), str.getStr(), (unsigned int)str2.getStr(), str2.getStr() ); | 118 | #define pem printf("---------\n%08tX: %s\n%08tX: %s\n", (ptrdiff_t)str.getStr(), str.getStr(), (ptrdiff_t)str2.getStr(), str2.getStr() ); |
119 | int main( int argc, char *argv[] ) | 119 | int main( int argc, char *argv[] ) |
120 | { | 120 | { |
121 | Bu::FString fs1; | 121 | Bu::FString fs1; |
diff --git a/src/trace.cpp b/src/trace.cpp index b328565..dab53d6 100644 --- a/src/trace.cpp +++ b/src/trace.cpp | |||
@@ -58,7 +58,7 @@ template<> void Bu::__tracer_format<char>( const char &v ) | |||
58 | { | 58 | { |
59 | printf("%hhd", v ); | 59 | printf("%hhd", v ); |
60 | } | 60 | } |
61 | 61 | /* | |
62 | template<> void Bu::__tracer_format<long>( const long &v ) | 62 | template<> void Bu::__tracer_format<long>( const long &v ) |
63 | { | 63 | { |
64 | printf("%ld", v ); | 64 | printf("%ld", v ); |
@@ -67,7 +67,7 @@ template<> void Bu::__tracer_format<long>( const long &v ) | |||
67 | template<> void Bu::__tracer_format<unsigned long>( const unsigned long &v ) | 67 | template<> void Bu::__tracer_format<unsigned long>( const unsigned long &v ) |
68 | { | 68 | { |
69 | printf("%lu", v ); | 69 | printf("%lu", v ); |
70 | } | 70 | }*/ |
71 | 71 | ||
72 | template<> void Bu::__tracer_format<float>( const float &v ) | 72 | template<> void Bu::__tracer_format<float>( const float &v ) |
73 | { | 73 | { |
@@ -81,7 +81,7 @@ template<> void Bu::__tracer_format<double>( const double &v ) | |||
81 | 81 | ||
82 | template<> void Bu::__tracer_format<void *>( void * const &v ) | 82 | template<> void Bu::__tracer_format<void *>( void * const &v ) |
83 | { | 83 | { |
84 | printf("0x%08X", (unsigned int)v ); | 84 | printf("0x%08X", (ptrdiff_t)v ); |
85 | } | 85 | } |
86 | 86 | ||
87 | template<> void Bu::__tracer_format<char *>( char * const &v ) | 87 | template<> void Bu::__tracer_format<char *>( char * const &v ) |
@@ -99,7 +99,7 @@ template<> void Bu::__tracer_format<char **>( char ** const &v ) | |||
99 | 99 | ||
100 | template<> void Bu::__tracer_format<void const *>( void const * const &v ) | 100 | template<> void Bu::__tracer_format<void const *>( void const * const &v ) |
101 | { | 101 | { |
102 | printf("0x%08X", (unsigned int)v ); | 102 | printf("0x%08X", (ptrdiff_t)v ); |
103 | } | 103 | } |
104 | 104 | ||
105 | template<> void Bu::__tracer_format<char const *>( char const * const &v ) | 105 | template<> void Bu::__tracer_format<char const *>( char const * const &v ) |
diff --git a/src/trace.h b/src/trace.h index e115d66..7a1f368 100644 --- a/src/trace.h +++ b/src/trace.h | |||
@@ -10,6 +10,7 @@ | |||
10 | 10 | ||
11 | #include <stdio.h> | 11 | #include <stdio.h> |
12 | #include <stdint.h> | 12 | #include <stdint.h> |
13 | #include <stddef.h> | ||
13 | 14 | ||
14 | namespace Bu | 15 | namespace Bu |
15 | { | 16 | { |
@@ -27,7 +28,7 @@ namespace Bu | |||
27 | { \ | 28 | { \ |
28 | if( *n == ',' || *n == ')' ) \ | 29 | if( *n == ',' || *n == ')' ) \ |
29 | { \ | 30 | { \ |
30 | fwrite( s, (int)n-(int)s, 1, stdout ); \ | 31 | fwrite( s, (ptrdiff_t)n-(ptrdiff_t)s, 1, stdout ); \ |
31 | fwrite("=", 1, 1, stdout); \ | 32 | fwrite("=", 1, 1, stdout); \ |
32 | __tracer_format( vv ); \ | 33 | __tracer_format( vv ); \ |
33 | s = n; \ | 34 | s = n; \ |
@@ -42,7 +43,7 @@ namespace Bu | |||
42 | const char *s = pf; | 43 | const char *s = pf; |
43 | const char *n = pf; | 44 | const char *n = pf; |
44 | looper( v1 ); | 45 | looper( v1 ); |
45 | fwrite( s, (int)n-(int)s, 1, stdout ); | 46 | fwrite( s, (ptrdiff_t)n-(ptrdiff_t)s, 1, stdout ); |
46 | fwrite( "\n", 1, 1, stdout ); | 47 | fwrite( "\n", 1, 1, stdout ); |
47 | } | 48 | } |
48 | 49 | ||
@@ -54,7 +55,7 @@ namespace Bu | |||
54 | const char *n = pf; | 55 | const char *n = pf; |
55 | looper( v1 ); | 56 | looper( v1 ); |
56 | looper( v2 ); | 57 | looper( v2 ); |
57 | fwrite( s, (int)n-(int)s, 1, stdout ); | 58 | fwrite( s, (ptrdiff_t)n-(ptrdiff_t)s, 1, stdout ); |
58 | fwrite( "\n", 1, 1, stdout ); | 59 | fwrite( "\n", 1, 1, stdout ); |
59 | } | 60 | } |
60 | 61 | ||
@@ -67,7 +68,7 @@ namespace Bu | |||
67 | looper( v1 ); | 68 | looper( v1 ); |
68 | looper( v2 ); | 69 | looper( v2 ); |
69 | looper( v3 ); | 70 | looper( v3 ); |
70 | fwrite( s, (int)n-(int)s, 1, stdout ); | 71 | fwrite( s, (ptrdiff_t)n-(ptrdiff_t)s, 1, stdout ); |
71 | fwrite( "\n", 1, 1, stdout ); | 72 | fwrite( "\n", 1, 1, stdout ); |
72 | } | 73 | } |
73 | 74 | ||
@@ -81,7 +82,7 @@ namespace Bu | |||
81 | looper( v2 ); | 82 | looper( v2 ); |
82 | looper( v3 ); | 83 | looper( v3 ); |
83 | looper( v4 ); | 84 | looper( v4 ); |
84 | fwrite( s, (int)n-(int)s, 1, stdout ); | 85 | fwrite( s, (ptrdiff_t)n-(ptrdiff_t)s, 1, stdout ); |
85 | fwrite( "\n", 1, 1, stdout ); | 86 | fwrite( "\n", 1, 1, stdout ); |
86 | } | 87 | } |
87 | 88 | ||
@@ -96,7 +97,7 @@ namespace Bu | |||
96 | looper( v3 ); | 97 | looper( v3 ); |
97 | looper( v4 ); | 98 | looper( v4 ); |
98 | looper( v5 ); | 99 | looper( v5 ); |
99 | fwrite( s, (int)n-(int)s, 1, stdout ); | 100 | fwrite( s, (ptrdiff_t)n-(ptrdiff_t)s, 1, stdout ); |
100 | fwrite( "\n", 1, 1, stdout ); | 101 | fwrite( "\n", 1, 1, stdout ); |
101 | } | 102 | } |
102 | 103 | ||
@@ -114,7 +115,7 @@ namespace Bu | |||
114 | looper( v4 ); | 115 | looper( v4 ); |
115 | looper( v5 ); | 116 | looper( v5 ); |
116 | looper( v6 ); | 117 | looper( v6 ); |
117 | fwrite( s, (int)n-(int)s, 1, stdout ); | 118 | fwrite( s, (ptrdiff_t)n-(ptrdiff_t)s, 1, stdout ); |
118 | fwrite( "\n", 1, 1, stdout ); | 119 | fwrite( "\n", 1, 1, stdout ); |
119 | } | 120 | } |
120 | 121 | ||
@@ -133,7 +134,7 @@ namespace Bu | |||
133 | looper( v5 ); | 134 | looper( v5 ); |
134 | looper( v6 ); | 135 | looper( v6 ); |
135 | looper( v7 ); | 136 | looper( v7 ); |
136 | fwrite( s, (int)n-(int)s, 1, stdout ); | 137 | fwrite( s, (ptrdiff_t)n-(ptrdiff_t)s, 1, stdout ); |
137 | fwrite( "\n", 1, 1, stdout ); | 138 | fwrite( "\n", 1, 1, stdout ); |
138 | } | 139 | } |
139 | #undef looper | 140 | #undef looper |
@@ -148,8 +149,8 @@ namespace Bu | |||
148 | template<> void __tracer_format<uint64_t>( const uint64_t &v ); | 149 | template<> void __tracer_format<uint64_t>( const uint64_t &v ); |
149 | template<> void __tracer_format<bool>( const bool &v ); | 150 | template<> void __tracer_format<bool>( const bool &v ); |
150 | template<> void __tracer_format<char>( const char &v ); | 151 | template<> void __tracer_format<char>( const char &v ); |
151 | template<> void __tracer_format<long>( const long &v ); | 152 | //template<> void __tracer_format<long>( const long &v ); |
152 | template<> void __tracer_format<unsigned long>( const unsigned long &v ); | 153 | //template<> void __tracer_format<unsigned long>( const unsigned long &v ); |
153 | template<> void __tracer_format<float>( const float &v ); | 154 | template<> void __tracer_format<float>( const float &v ); |
154 | template<> void __tracer_format<double>( const double &v ); | 155 | template<> void __tracer_format<double>( const double &v ); |
155 | template<> void __tracer_format<void *>( void * const &v ); | 156 | template<> void __tracer_format<void *>( void * const &v ); |
diff --git a/src/unit/archive.cpp b/src/unit/archive.cpp new file mode 100644 index 0000000..61e3567 --- /dev/null +++ b/src/unit/archive.cpp | |||
@@ -0,0 +1,111 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2007-2008 Xagasoft, All rights reserved. | ||
3 | * | ||
4 | * This file is part of the libbu++ library and is released under the | ||
5 | * terms of the license contained in the file LICENSE. | ||
6 | */ | ||
7 | |||
8 | #include "bu/unitsuite.h" | ||
9 | #include "bu/membuf.h" | ||
10 | |||
11 | class Unit : public Bu::UnitSuite | ||
12 | { | ||
13 | public: | ||
14 | Unit() | ||
15 | { | ||
16 | setName("Archive"); | ||
17 | addTest( Unit::testPrimitives ); | ||
18 | } | ||
19 | |||
20 | virtual ~Unit() | ||
21 | { | ||
22 | } | ||
23 | |||
24 | void testPrimitives() | ||
25 | { | ||
26 | Bu::MemBuf mb; | ||
27 | { | ||
28 | Bu::Archive ar( mb, Bu::Archive::save ); | ||
29 | ar << (int8_t)1; | ||
30 | ar << (uint8_t)2; | ||
31 | ar << (int16_t)3; | ||
32 | ar << (uint16_t)4; | ||
33 | ar << (int32_t)5; | ||
34 | ar << (uint32_t)6; | ||
35 | ar << (int64_t)7; | ||
36 | ar << (uint64_t)8; | ||
37 | ar << (char)9; | ||
38 | ar << (unsigned char)10; | ||
39 | ar << (short)11; | ||
40 | ar << (unsigned short)12; | ||
41 | ar << (int)13; | ||
42 | ar << (unsigned int)14; | ||
43 | ar << (long)15; | ||
44 | ar << (unsigned long)16; | ||
45 | //ar << (long long)17; | ||
46 | //ar << (unsigned long long)18; | ||
47 | ar.close(); | ||
48 | } | ||
49 | mb.setPos( 0 ); | ||
50 | { | ||
51 | Bu::Archive ar( mb, Bu::Archive::load ); | ||
52 | int8_t p1; | ||
53 | uint8_t p2; | ||
54 | int16_t p3; | ||
55 | uint16_t p4; | ||
56 | int32_t p5; | ||
57 | uint32_t p6; | ||
58 | int64_t p7; | ||
59 | uint64_t p8; | ||
60 | signed char p9; | ||
61 | unsigned char p10; | ||
62 | short p11; | ||
63 | unsigned short p12; | ||
64 | int p13; | ||
65 | unsigned int p14; | ||
66 | long p15; | ||
67 | unsigned long p16; | ||
68 | //long long p17; | ||
69 | //unsigned long long p18; | ||
70 | ar >> p1; | ||
71 | ar >> p2; | ||
72 | ar >> p3; | ||
73 | ar >> p4; | ||
74 | ar >> p5; | ||
75 | ar >> p6; | ||
76 | ar >> p7; | ||
77 | ar >> p8; | ||
78 | ar >> p9; | ||
79 | ar >> p10; | ||
80 | ar >> p11; | ||
81 | ar >> p12; | ||
82 | ar >> p13; | ||
83 | ar >> p14; | ||
84 | ar >> p15; | ||
85 | ar >> p16; | ||
86 | //ar >> p17; | ||
87 | //ar >> p18; | ||
88 | unitTest( p1 == 1 ); | ||
89 | unitTest( p2 == 2 ); | ||
90 | unitTest( p3 == 3 ); | ||
91 | unitTest( p4 == 4 ); | ||
92 | unitTest( p5 == 5 ); | ||
93 | unitTest( p6 == 6 ); | ||
94 | unitTest( p7 == 7 ); | ||
95 | unitTest( p8 == 8 ); | ||
96 | unitTest( p9 == 9 ); | ||
97 | unitTest( p10 == 10 ); | ||
98 | unitTest( p11 == 11 ); | ||
99 | unitTest( p12 == 12 ); | ||
100 | unitTest( p13 == 13 ); | ||
101 | unitTest( p14 == 14 ); | ||
102 | unitTest( p15 == 15 ); | ||
103 | unitTest( p16 == 16 ); | ||
104 | //unitTest( p17 == 17 ); | ||
105 | //unitTest( p18 == 18 ); | ||
106 | ar.close(); | ||
107 | } | ||
108 | } | ||
109 | }; | ||
110 | |||
111 | int main( int argc, char *argv[] ){ return Unit().run( argc, argv ); } | ||
@@ -74,7 +74,6 @@ namespace Bu | |||
74 | return *a > *b; | 74 | return *a > *b; |
75 | } | 75 | } |
76 | }; | 76 | }; |
77 | |||
78 | }; | 77 | }; |
79 | 78 | ||
80 | #endif | 79 | #endif |