summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Buland <eichlan@xagasoft.com>2008-06-07 05:30:58 +0000
committerMike Buland <eichlan@xagasoft.com>2008-06-07 05:30:58 +0000
commit555ba77568b6faf18ebaed06cd08615deab2d8e3 (patch)
treedb4586b7849b1fbdc045c36b386dac0345b82d99
parentdc95fa94c1a8bb7249034d6fd2e61f80df48b317 (diff)
downloadlibbu++-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.cpp16
-rw-r--r--src/archive.h5
-rw-r--r--src/exceptionbase.cpp5
-rw-r--r--src/minimacro.cpp8
-rw-r--r--src/plugger.h7
-rw-r--r--src/serversocket.cpp2
-rw-r--r--src/tests/fstring.cpp4
-rw-r--r--src/trace.cpp8
-rw-r--r--src/trace.h21
-rw-r--r--src/unit/archive.cpp111
-rw-r--r--src/util.h1
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}/*
93Bu::Archive &Bu::Archive::operator<<(long p) 93Bu::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}*/
98Bu::Archive &Bu::Archive::operator<<(float p) 98Bu::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}/*
159Bu::Archive &Bu::Archive::operator>>(long &p) 159Bu::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}*/
164Bu::Archive &Bu::Archive::operator>>(float &p) 164Bu::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
372uint32_t Bu::Archive::getID( const void *ptr ) 372uint32_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
394void Bu::Archive::readID( const void *ptr, uint32_t id ) 394void 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
18namespace Bu 19namespace 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
18namespace Bu 19namespace 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() );
119int main( int argc, char *argv[] ) 119int 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/*
62template<> void Bu::__tracer_format<long>( const long &v ) 62template<> 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 )
67template<> void Bu::__tracer_format<unsigned long>( const unsigned long &v ) 67template<> void Bu::__tracer_format<unsigned long>( const unsigned long &v )
68{ 68{
69 printf("%lu", v ); 69 printf("%lu", v );
70} 70}*/
71 71
72template<> void Bu::__tracer_format<float>( const float &v ) 72template<> 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
82template<> void Bu::__tracer_format<void *>( void * const &v ) 82template<> 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
87template<> void Bu::__tracer_format<char *>( char * const &v ) 87template<> void Bu::__tracer_format<char *>( char * const &v )
@@ -99,7 +99,7 @@ template<> void Bu::__tracer_format<char **>( char ** const &v )
99 99
100template<> void Bu::__tracer_format<void const *>( void const * const &v ) 100template<> 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
105template<> void Bu::__tracer_format<char const *>( char const * const &v ) 105template<> 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
14namespace Bu 15namespace 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
11class Unit : public Bu::UnitSuite
12{
13public:
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
111int main( int argc, char *argv[] ){ return Unit().run( argc, argv ); }
diff --git a/src/util.h b/src/util.h
index 25eb795..6205c04 100644
--- a/src/util.h
+++ b/src/util.h
@@ -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