From f5aca1a1b402bd7ebc944dc6e6fe65828d863365 Mon Sep 17 00:00:00 2001 From: Mike Buland Date: Thu, 20 Jan 2011 02:14:08 +0000 Subject: Bu::FString is now String, and there's a shell script to fix any other programs that were using fstring, I hope. --- src/tests/archive.cpp | 4 ++-- src/tests/cache.cpp | 18 +++++++++--------- src/tests/fastcgi.cpp | 8 ++++---- src/tests/fstratsptr.cpp | 8 ++++---- src/tests/fstrformat.cpp | 4 ++-- src/tests/fstring.cpp | 28 ++++++++++++++-------------- src/tests/fstrstd.cpp | 4 ++-- src/tests/hash2.cpp | 4 ++-- src/tests/heap.cpp | 14 +++++++------- src/tests/listsort.cpp | 6 +++--- src/tests/mmparse.cpp | 2 +- src/tests/optparser.cpp | 2 +- src/tests/sha1.cpp | 4 ++-- src/tests/signals.cpp | 24 ++++++++++++------------ src/tests/size.cpp | 6 +++--- src/tests/speed.cpp | 6 +++--- src/tests/streamstack.cpp | 4 ++-- src/tests/telnetsrv.cpp | 2 +- 18 files changed, 74 insertions(+), 74 deletions(-) (limited to 'src/tests') diff --git a/src/tests/archive.cpp b/src/tests/archive.cpp index 08e3b17..de227b0 100644 --- a/src/tests/archive.cpp +++ b/src/tests/archive.cpp @@ -7,7 +7,7 @@ #include "bu/archive.h" #include "bu/file.h" -#include "bu/fstring.h" +#include "bu/string.h" using namespace Bu; @@ -16,7 +16,7 @@ int main() File f("test.dat", File::WriteNew ); Archive ar( f, Archive::save ); - Bu::FString s("Hello there"); + Bu::String s("Hello there"); ar << s; ar.setProp("hi", 45 ); diff --git a/src/tests/cache.cpp b/src/tests/cache.cpp index 7fe660a..38a5591 100644 --- a/src/tests/cache.cpp +++ b/src/tests/cache.cpp @@ -14,7 +14,7 @@ #include "bu/cache.h" #include "bu/file.h" -#include "bu/fstring.h" +#include "bu/string.h" #include "bu/cachecalc.h" class Bob @@ -90,7 +90,7 @@ public: writeNum("bobcache/last", cLastId ); } - long readNum( const Bu::FString &sFile ) + long readNum( const Bu::String &sFile ) { TRACE( sFile ); Bu::File f( sFile, Bu::File::Read ); @@ -99,13 +99,13 @@ public: return strtol( buf, NULL, 0 ); } - void writeNum( const Bu::FString &sFile, long num ) + void writeNum( const Bu::String &sFile, long num ) { TRACE( sFile, num ); Bu::File f( sFile, Bu::File::Write|Bu::File::Create|Bu::File::Truncate ); - Bu::FString s; + Bu::String s; s.format("%d", num ); f.write( s ); } @@ -126,7 +126,7 @@ public: virtual Bob *load( const long &key ) { TRACE( key ); - Bu::FString sDest; + Bu::String sDest; sDest.format("bobcache/%d", key ); return new Bob( readNum( sDest ) ); } @@ -134,7 +134,7 @@ public: virtual void unload( Bob *pObj, const long &key ) { TRACE( pObj, key ); - Bu::FString sDest; + Bu::String sDest; sDest.format("bobcache/%d", key ); writeNum( sDest, pObj->getInt() ); delete pObj; @@ -144,7 +144,7 @@ public: { TRACE( rSrc ); long id = ++cLastId; - Bu::FString sDest; + Bu::String sDest; sDest.format("bobcache/%d", id ); writeNum( sDest, rSrc->getInt() ); return id; @@ -153,7 +153,7 @@ public: virtual void destroy( Bob *pObj, const long &key ) { TRACE( pObj, key ); - Bu::FString sDest; + Bu::String sDest; sDest.format("bobcache/%d", key ); if( !access( sDest.getStr(), F_OK ) ) unlink( sDest.getStr() ); @@ -163,7 +163,7 @@ public: virtual void destroy( const long &key ) { TRACE( pObj, key ); - Bu::FString sDest; + Bu::String sDest; sDest.format("bobcache/%d", key ); if( !access( sDest.getStr(), F_OK ) ) unlink( sDest.getStr() ); diff --git a/src/tests/fastcgi.cpp b/src/tests/fastcgi.cpp index a3fa675..5f7758e 100644 --- a/src/tests/fastcgi.cpp +++ b/src/tests/fastcgi.cpp @@ -27,10 +27,10 @@ public: } virtual int onRequest( const StrHash &hParams, - const Bu::FString &sStdIn, Bu::Stream &sStdOut, + const Bu::String &sStdIn, Bu::Stream &sStdOut, Bu::Stream &/*sStdErr*/ ) { - Bu::FString sOut("Content-Type: text/html\r\n\r\n"); + Bu::String sOut("Content-Type: text/html\r\n\r\n"); sOut += "

Environment:

"; sOut += "

Stdin:

"; sOut.formatAppend("%d bytes
", sStdIn.getSize() );
-		Bu::FString sL, sR;
-		for( Bu::FString::const_iterator i = sStdIn.begin();
+		Bu::String sL, sR;
+		for( Bu::String::const_iterator i = sStdIn.begin();
 			i; i++ )
 		{
 			sL.formatAppend("%02X ",
diff --git a/src/tests/fstratsptr.cpp b/src/tests/fstratsptr.cpp
index 2303d6a..fa38459 100644
--- a/src/tests/fstratsptr.cpp
+++ b/src/tests/fstratsptr.cpp
@@ -5,7 +5,7 @@
  * terms of the license contained in the file LICENSE.
  */
 
-#include "bu/fstring.h"
+#include "bu/string.h"
 #include "bu/atom.h"
 #include "bu/sptr.h"
 
@@ -15,8 +15,8 @@ public:
 	Person(){};
 	virtual ~Person(){};
 
-	Bu::Atom sFirstName;
-	Bu::Atom sLastName;
+	Bu::Atom sFirstName;
+	Bu::Atom sLastName;
 };
 
 typedef Bu::SPtr PersonPtr;
@@ -45,7 +45,7 @@ int main()
 	Swap(one, two);
 */
 
-	Bu::Atom sOne, sTwo;
+	Bu::Atom sOne, sTwo;
 	sOne = "Hello";
 	sTwo = sOne;
 
diff --git a/src/tests/fstrformat.cpp b/src/tests/fstrformat.cpp
index a8e9def..2f04fe9 100644
--- a/src/tests/fstrformat.cpp
+++ b/src/tests/fstrformat.cpp
@@ -5,12 +5,12 @@
  * terms of the license contained in the file LICENSE.
  */
 
-#include "bu/fstring.h"
+#include "bu/string.h"
 #include 
 
 int main()
 {
-	Bu::FString s;
+	Bu::String s;
 
 	s.format("%d, %f, \'%s\'", 144, 12.5, "bob" );
 
diff --git a/src/tests/fstring.cpp b/src/tests/fstring.cpp
index c343172..acc3558 100644
--- a/src/tests/fstring.cpp
+++ b/src/tests/fstring.cpp
@@ -6,7 +6,7 @@
  */
 
 #include "bu/hash.h"
-#include "bu/fstring.h"
+#include "bu/string.h"
 #include 
 #include 
 
@@ -27,9 +27,9 @@ inline double getTime()
 }
 #endif
 
-Bu::FString genThing()
+Bu::String genThing()
 {
-	Bu::FString bob;
+	Bu::String bob;
 	bob.append("ab ");
 	bob += "cd ";
 	bob += "efg";
@@ -39,7 +39,7 @@ Bu::FString genThing()
 	return bob;
 }
 
-void thing( Bu::FString str )
+void thing( Bu::String str )
 {
 	printf("Hey:  %s\n", str.getStr() );
 }
@@ -49,21 +49,21 @@ void copyfunc( std::string temp )
 	temp += "Hi";
 }
 
-void copyfunc( Bu::FString temp )
+void copyfunc( Bu::String temp )
 {
 	temp += "Hi";
 }
 
 void doTimings()
 {
-	Bu::FString fs1, fs2;
+	Bu::String fs1, fs2;
 	std::string ss1, ss2;
 	double dStart, dEnd, tfs1, tfs2, tfs3, tss1, tss2, tss3;
 	int nChars = 500000, nChunks=5000, nCopies=5000000, nChunkSize=1024*4;
 	char *buf = new char[nChunkSize];
 	memset( buf, '!', nChunkSize );
 
-	printf("Timing Bu::FString single chars...\n");
+	printf("Timing Bu::String single chars...\n");
 	dStart = getTime();
 	for( int j = 0; j < nChars; j++ ) fs1 += (char)('a'+(j%26));
 	fs1.getStr();
@@ -77,7 +77,7 @@ void doTimings()
 	dEnd = getTime();
 	tss1 = dEnd-dStart;
 
-	printf("Timing Bu::FString %d char chunks...\n", nChunkSize);
+	printf("Timing Bu::String %d char chunks...\n", nChunkSize);
 	dStart = getTime();
 	for( int j = 0; j < nChunks; j++ ) fs2.append(buf, nChunkSize);
 	fs2.getStr();
@@ -93,9 +93,9 @@ void doTimings()
 
 	fs2 = "Hello there.";
 	ss2 = "Hello there.";
-	printf("Timing Bu::FString copies...\n");
+	printf("Timing Bu::String copies...\n");
 	dStart = getTime();
-	for( int j = 0; j < nCopies; j++ ) Bu::FString stmp = fs2;
+	for( int j = 0; j < nCopies; j++ ) Bu::String stmp = fs2;
 	dEnd = getTime();
 	tfs3 = dEnd-dStart;
 
@@ -107,7 +107,7 @@ void doTimings()
 
 	printf(
 		"Results:       singles:        chunks:         copies:\n"
-		"Bu::FString    %10.2f/s   %10.2f/s   %10.2f/s\n"
+		"Bu::String    %10.2f/s   %10.2f/s   %10.2f/s\n"
 		"std::string    %10.2f/s   %10.2f/s   %10.2f/s\n",
 		nChars/tfs1, nChunks/tfs2, nCopies/tfs3,
 		nChars/tss1, nChunks/tss2, nCopies/tss3 );
@@ -118,16 +118,16 @@ void doTimings()
 #define pem printf("---------\n%08tX: %s\n%08tX: %s\n", (ptrdiff_t)str.getStr(), str.getStr(), (ptrdiff_t)str2.getStr(), str2.getStr() );
 int main( )
 {
-	Bu::FString fs1;
+	Bu::String fs1;
 	for( int j = 0; j < 500000; j++ ) fs1 += (char)('a'+(j%26));
 	return 0;
 
-	Bu::FString str("th");
+	Bu::String str("th");
 
 	str.prepend("Hello ");
 	str.append("ere.");
 
-	Bu::FString str2( str );
+	Bu::String str2( str );
 	pem;
 	str += "  What's up?";
 	pem;
diff --git a/src/tests/fstrstd.cpp b/src/tests/fstrstd.cpp
index 86d7c5c..4209c65 100644
--- a/src/tests/fstrstd.cpp
+++ b/src/tests/fstrstd.cpp
@@ -6,11 +6,11 @@
  */
 
 #include 
-#include "bu/fstring.h"
+#include "bu/string.h"
 
 int main()
 {
-	Bu::FString s("Hey there, dude.\n");
+	Bu::String s("Hey there, dude.\n");
 
 //	std::cout << s << 5;
 }
diff --git a/src/tests/hash2.cpp b/src/tests/hash2.cpp
index 4db248e..5f1dd09 100644
--- a/src/tests/hash2.cpp
+++ b/src/tests/hash2.cpp
@@ -5,12 +5,12 @@
  * terms of the license contained in the file LICENSE.
  */
 
-#include 
+#include 
 #include 
 
 int main()
 {
-	Bu::Hash hCmd;
+	Bu::Hash hCmd;
 
 	hCmd.insert("help", 5 );
 	hCmd.insert("exit", 5 );
diff --git a/src/tests/heap.cpp b/src/tests/heap.cpp
index 7538936..3576f25 100644
--- a/src/tests/heap.cpp
+++ b/src/tests/heap.cpp
@@ -10,7 +10,7 @@
 
 #include "bu/formatter.h"
 #include "bu/heap.h"
-#include "bu/fstring.h"
+#include "bu/string.h"
 #include "bu/file.h"
 
 typedef struct num
@@ -38,15 +38,15 @@ typedef struct num
 	}
 } num;
 
-void printHeap( Bu::Heap &h, int j )
+void printHeap( Bu::Heap &h, int j )
 {
 //	return;
-	Bu::FString sFName;
+	Bu::String sFName;
 	sFName.format("graph-step-%02d.dot", j );
 	Bu::File fOut( sFName, Bu::File::WriteNew );
 	Bu::Formatter f( fOut );
 	f << "Graph step: " << j << ", total size: " << h.getSize() << f.nl;
-	for( Bu::Heap::iterator i = h.begin(); i; i++ )
+	for( Bu::Heap::iterator i = h.begin(); i; i++ )
 	{
 		f << *i << f.nl;
 	}
@@ -73,7 +73,7 @@ int main()
 	}
 	printf("\n");
 */
-	Bu::Heap hStr;
+	Bu::Heap hStr;
 	int j = 0;
 
 	hStr.enqueue("George");
@@ -100,7 +100,7 @@ int main()
 	}
 	printf("\n");
 
-	Bu::List lStr;
+	Bu::List lStr;
 
 	lStr.insertSorted("George");
 	lStr.insertSorted("George");
@@ -110,7 +110,7 @@ int main()
 	lStr.insertSorted("Brianna");
 	lStr.insertSorted("Kate");
 	lStr.insertSorted("Soggy");
-	for( Bu::List::iterator i = lStr.begin(); i; i++ )
+	for( Bu::List::iterator i = lStr.begin(); i; i++ )
 	{
 		printf("\"%s\" ", (*i).getStr() );
 	}
diff --git a/src/tests/listsort.cpp b/src/tests/listsort.cpp
index 60d9611..00e7268 100644
--- a/src/tests/listsort.cpp
+++ b/src/tests/listsort.cpp
@@ -7,7 +7,7 @@
 
 #include 
 #include 
-#include 
+#include 
 
 using namespace Bu;
 
@@ -25,7 +25,7 @@ int main()
 	il.sortI( cmp );
 	*/
 
-	FString a("Soggy"), b("Sam");
+	String a("Soggy"), b("Sam");
 
 	if( a < b )
 	{
@@ -36,7 +36,7 @@ int main()
 		sio << "Good" << sio.nl;
 	}
 
-	typedef List StrList;
+	typedef List StrList;
 
 	StrList lNames;
 
diff --git a/src/tests/mmparse.cpp b/src/tests/mmparse.cpp
index b2c3bf5..1123d21 100644
--- a/src/tests/mmparse.cpp
+++ b/src/tests/mmparse.cpp
@@ -6,7 +6,7 @@
  */
 
 #include "bu/minimacro.h"
-#include "bu/fstring.h"
+#include "bu/string.h"
 
 int main()
 {
diff --git a/src/tests/optparser.cpp b/src/tests/optparser.cpp
index f5d1512..ae658df 100644
--- a/src/tests/optparser.cpp
+++ b/src/tests/optparser.cpp
@@ -72,7 +72,7 @@ public:
 
 	int iBob;
 	float dBob;
-	Bu::FString sVar;
+	Bu::String sVar;
 };
 
 int main( int argc, char *argv[] )
diff --git a/src/tests/sha1.cpp b/src/tests/sha1.cpp
index b1c798a..84cebe5 100644
--- a/src/tests/sha1.cpp
+++ b/src/tests/sha1.cpp
@@ -28,8 +28,8 @@ int main( int argc, char *argv[] )
 				break;
 		}
 
-		Bu::FString sRes = m.getResult();
-		for( Bu::FString::iterator i = sRes.begin(); i; i++ )
+		Bu::String sRes = m.getResult();
+		for( Bu::String::iterator i = sRes.begin(); i; i++ )
 		{
 			sio << Fmt::hex(2,false) << (int)(unsigned char)(*i);
 		}
diff --git a/src/tests/signals.cpp b/src/tests/signals.cpp
index e53c16e..a8c8c4e 100644
--- a/src/tests/signals.cpp
+++ b/src/tests/signals.cpp
@@ -32,22 +32,22 @@ public:
 		sio << iState << ": void fnc1( " << a << " )" << sio.nl;
 	}
 	
-	void fnc2( int a, Bu::FString b )
+	void fnc2( int a, Bu::String b )
 	{
 		sio << iState << ": void fnc2( " << a << ", \"" << b << "\" )" << sio.nl;
 	}
 	
-	void fnc3( int a, Bu::FString b, double c )
+	void fnc3( int a, Bu::String b, double c )
 	{
 		sio << iState << ": void fnc3( " << a << ", \"" << b << "\", " << c << " )" << sio.nl;
 	}
 	
-	void fnc4( int a, Bu::FString b, double c, char d )
+	void fnc4( int a, Bu::String b, double c, char d )
 	{
 		sio << iState << ": void fnc4( " << a << ", \"" << b << "\", " << c << ", '" << d << "' )" << sio.nl;
 	}
 	
-	void fnc5( int a, Bu::FString b, double c, char d, long e )
+	void fnc5( int a, Bu::String b, double c, char d, long e )
 	{
 		sio << iState << ": void fnc5( " << a << ", \"" << b << "\", " << c << ", '" << d << "', " << e << " )" << sio.nl;
 	}
@@ -66,22 +66,22 @@ void pfnc1( int a )
 	sio <<  ": void pfnc1( " << a << " )" << sio.nl;
 }
 
-void pfnc2( int a, Bu::FString b )
+void pfnc2( int a, Bu::String b )
 {
 	sio <<  ": void pfnc2( " << a << ", \"" << b << "\" )" << sio.nl;
 }
 
-void pfnc3( int a, Bu::FString b, double c )
+void pfnc3( int a, Bu::String b, double c )
 {
 	sio <<  ": void pfnc3( " << a << ", \"" << b << "\", " << c << " )" << sio.nl;
 }
 
-void pfnc4( int a, Bu::FString b, double c, char d )
+void pfnc4( int a, Bu::String b, double c, char d )
 {
 	sio <<  ": void pfnc4( " << a << ", \"" << b << "\", " << c << ", '" << d << "' )" << sio.nl;
 }
 
-void pfnc5( int a, Bu::FString b, double c, char d, long e )
+void pfnc5( int a, Bu::String b, double c, char d, long e )
 {
 	sio <<  ": void pfnc5( " << a << ", \"" << b << "\", " << c << ", '" << d << "', " << e << " )" << sio.nl;
 }
@@ -105,22 +105,22 @@ int main()
 	cb1 = slot( &pfnc1 );
 	cb1( 5 );
 	
-	Signal2 cb2( slot( &t, &Thing::fnc2 ) );
+	Signal2 cb2( slot( &t, &Thing::fnc2 ) );
 	cb2( 5, "Hi there" );
 	cb2 = slot( &pfnc2 );
 	cb2( 5, "Hi there" );
 	
-	Signal3 cb3( slot( &t, &Thing::fnc3 ) );
+	Signal3 cb3( slot( &t, &Thing::fnc3 ) );
 	cb3( 5, "Hi there", 12.85 );
 	cb3 = slot( &pfnc3 );
 	cb3( 5, "Hi there", 12.85 );
 	
-	Signal4 cb4( slot( &t, &Thing::fnc4 ) );
+	Signal4 cb4( slot( &t, &Thing::fnc4 ) );
 	cb4( 5, "Hi there", 12.85, 'z' );
 	cb4 = slot( &pfnc4 );
 	cb4( 5, "Hi there", 12.85, 'z' );
 	
-	Signal5 cb5( slot( &t, &Thing::fnc5 ) );
+	Signal5 cb5( slot( &t, &Thing::fnc5 ) );
 	cb5( 5, "Hi there", 12.85, 'z', 849 );
 	cb5 = slot( &pfnc5 );
 	cb5( 5, "Hi there", 12.85, 'z', 849 );
diff --git a/src/tests/size.cpp b/src/tests/size.cpp
index a9a921d..841325d 100644
--- a/src/tests/size.cpp
+++ b/src/tests/size.cpp
@@ -6,15 +6,15 @@
  */
 
 #include "bu/hash.h"
-#include "bu/fstring.h"
+#include "bu/string.h"
 
 #define pSize( t ) printf("%15s: %db\n", #t, sizeof( t ) );
 
 int main()
 {
 	typedef Bu::Hash charcharHash;
-	typedef Bu::Hash strstrHash;
-	pSize( Bu::FString );
+	typedef Bu::Hash strstrHash;
+	pSize( Bu::String );
 	pSize( charcharHash );
 	pSize( strstrHash );
 }
diff --git a/src/tests/speed.cpp b/src/tests/speed.cpp
index c6770de..c78dded 100644
--- a/src/tests/speed.cpp
+++ b/src/tests/speed.cpp
@@ -5,7 +5,7 @@
  * terms of the license contained in the file LICENSE.
  */
 
-#include "bu/fstring.h"
+#include "bu/string.h"
 #include 
 
 template
@@ -50,9 +50,9 @@ void fullTest( tst t )
 
 int main()
 {
-	Bu::FString str;
+	Bu::String str;
 	for( int j = 0; j < 500; j++ )
 		str.append("Hey, this is a test string.  It will be reapeated many, many times.  How's that?");
-	fullTest( tstCopy( str ) );
+	fullTest( tstCopy( str ) );
 }
 
diff --git a/src/tests/streamstack.cpp b/src/tests/streamstack.cpp
index b8c48e7..ea9ec0b 100644
--- a/src/tests/streamstack.cpp
+++ b/src/tests/streamstack.cpp
@@ -24,7 +24,7 @@ public:
 
 	void write()
 	{
-		Bu::FString s;
+		Bu::String s;
 		time_t tNow = time( NULL );
 		s = ctime( &tNow );
 		long lSize = s.getSize()-1;
@@ -34,7 +34,7 @@ public:
 
 	void read()
 	{
-		Bu::FString s;
+		Bu::String s;
 		long lSize;
 		rStream.read( &lSize, sizeof(long) );
 		s.setSize( lSize );
diff --git a/src/tests/telnetsrv.cpp b/src/tests/telnetsrv.cpp
index 4504aaf..f62714a 100644
--- a/src/tests/telnetsrv.cpp
+++ b/src/tests/telnetsrv.cpp
@@ -36,7 +36,7 @@ public:
 		printf("New dim = (%dx%d)\n", iWidth, iHeight );
 	}
 
-	virtual void gotLine( Bu::FString &sLine )
+	virtual void gotLine( Bu::String &sLine )
 	{
 		printf("Line: \"%s\"\n", sLine.getStr() );
 		write("\n\r", 2 );
-- 
cgit v1.2.3


From 7c6c9538b03c9eae24e38fbeb30dd76a16aff1d2 Mon Sep 17 00:00:00 2001
From: Mike Buland 
Date: Thu, 20 Jan 2011 05:30:43 +0000
Subject: Wow, got the Stream changes propegated, all tests build with string
 instead of fstring, and updated the copyright notice to extend to 2011

---
 LICENSE                   |   2 +-
 Makefile                  |   2 +-
 Makefile.legacy           |   2 +-
 build.conf                | 116 ----------------------------------------------
 buildMinGW.conf           |  47 -------------------
 default.bld               |   2 +-
 fstringtest.dev           |  59 -----------------------
 mingw.bld                 |  11 +++--
 src/archival.cpp          |   2 +-
 src/archival.h            |   2 +-
 src/archive.cpp           |   2 +-
 src/archive.h             |   2 +-
 src/archivebase.cpp       |   2 +-
 src/archivebase.h         |   2 +-
 src/array.cpp             |   2 +-
 src/array.h               |   2 +-
 src/atom.cpp              |   2 +-
 src/atom.h                |   2 +-
 src/base64.cpp            |  14 +++---
 src/base64.h              |  12 ++---
 src/bitstring.cpp         |   2 +-
 src/bitstring.h           |   2 +-
 src/buffer.cpp            |  12 ++---
 src/buffer.h              |  12 ++---
 src/bzip2.cpp             |  14 +++---
 src/bzip2.h               |  12 ++---
 src/cache.cpp             |   2 +-
 src/cache.h               |   2 +-
 src/cachecalc.cpp         |   2 +-
 src/cachecalc.h           |   2 +-
 src/cachestore.cpp        |   2 +-
 src/cachestore.h          |   2 +-
 src/cachestorefiles.cpp   |   2 +-
 src/cachestorefiles.h     |   2 +-
 src/cachestoremyriad.cpp  |   2 +-
 src/cachestoremyriad.h    |   2 +-
 src/client.cpp            |  57 ++++++++++++++---------
 src/client.h              |  43 +++++++++--------
 src/clientlink.cpp        |   2 +-
 src/clientlink.h          |   2 +-
 src/clientlinkfactory.cpp |   2 +-
 src/clientlinkfactory.h   |   2 +-
 src/compat/linux.h        |   2 +-
 src/compat/osx.h          |   2 +-
 src/compat/win32.cpp      |   2 +-
 src/compat/win32.h        |   2 +-
 src/conduit.cpp           |   2 +-
 src/conduit.h             |   2 +-
 src/config.h              |   2 +-
 src/crypt.cpp             |   2 +-
 src/crypt.h               |   2 +-
 src/cryptohash.cpp        |   2 +-
 src/cryptohash.h          |   2 +-
 src/csvreader.cpp         |   2 +-
 src/csvreader.h           |   2 +-
 src/csvwriter.cpp         |   2 +-
 src/csvwriter.h           |   2 +-
 src/doxy/archives.dox     |   2 +-
 src/doxy/formatting.dox   |   2 +-
 src/doxy/groups.dox       |   2 +-
 src/doxy/main.dox         |   2 +-
 src/doxy/params.dox       |   2 +-
 src/doxy/plugins.dox      |   2 +-
 src/doxy/servers.dox      |   2 +-
 src/doxy/streams.dox      |   2 +-
 src/doxy/taf.dox          |   2 +-
 src/doxy/threading.dox    |   2 +-
 src/doxy/unittest.dox     |   2 +-
 src/exceptionbase.cpp     |   2 +-
 src/exceptionbase.h       |   2 +-
 src/extratypes.h          |   9 ++++
 src/fastcgi.cpp           |   2 +-
 src/fastcgi.h             |   2 +-
 src/fifo.cpp              |  14 +++---
 src/fifo.h                |  14 +++---
 src/file.cpp              |  39 ++++++++++++----
 src/file.h                |  20 ++++----
 src/filter.cpp            |  27 ++++++++---
 src/filter.h              |  18 ++++---
 src/formatter.cpp         |   2 +-
 src/formatter.h           |   2 +-
 src/formula.cpp           |   2 +-
 src/formula.h             |   2 +-
 src/hash.cpp              |   2 +-
 src/hash.h                |   2 +-
 src/heap.cpp              |   2 +-
 src/heap.h                |   2 +-
 src/httpget.cpp           |  29 +++++++++---
 src/httpget.h             |  18 ++++---
 src/ito.cpp               |   2 +-
 src/ito.h                 |   2 +-
 src/itoatom.h             |   2 +-
 src/itocondition.cpp      |   2 +-
 src/itocondition.h        |   2 +-
 src/itocounter.cpp        |   2 +-
 src/itocounter.h          |   2 +-
 src/itoheap.cpp           |   2 +-
 src/itoheap.h             |   2 +-
 src/itomutex.cpp          |   2 +-
 src/itomutex.h            |   2 +-
 src/itoqueue.h            |   2 +-
 src/itoserver.cpp         |   2 +-
 src/itoserver.h           |   2 +-
 src/lexer.cpp             |   7 +++
 src/lexer.h               |   7 +++
 src/linkmessage.cpp       |   2 +-
 src/linkmessage.h         |   2 +-
 src/list.cpp              |   2 +-
 src/list.h                |   2 +-
 src/logger.cpp            |   2 +-
 src/logger.h              |   2 +-
 src/md5.cpp               |   2 +-
 src/md5.h                 |   2 +-
 src/membuf.cpp            |  17 ++++++-
 src/membuf.h              |   5 +-
 src/minicron.cpp          |   2 +-
 src/minicron.h            |   2 +-
 src/minimacro.cpp         |   2 +-
 src/minimacro.h           |   2 +-
 src/multiserver.cpp       |   2 +-
 src/multiserver.h         |   2 +-
 src/myriad.cpp            |   2 +-
 src/myriad.h              |   2 +-
 src/myriadfs.cpp          |   7 +++
 src/myriadfs.h            |   7 +++
 src/myriadstream.cpp      |  35 ++++++++++----
 src/myriadstream.h        |  20 ++++----
 src/newline.cpp           |  16 +++----
 src/newline.h             |   8 ++--
 src/nullstream.cpp        |  36 +++++++++++---
 src/nullstream.h          |  33 ++++++++-----
 src/optparser.cpp         |   2 +-
 src/optparser.h           |   2 +-
 src/parser.cpp            |   7 +++
 src/parser.h              |   7 +++
 src/plugger.cpp           |   2 +-
 src/plugger.h             |   2 +-
 src/process.cpp           |  37 ++++++++++-----
 src/process.h             |  22 +++++----
 src/programchain.cpp      |   2 +-
 src/programchain.h        |   2 +-
 src/programlink.cpp       |   2 +-
 src/programlink.h         |   2 +-
 src/protocol.cpp          |   2 +-
 src/protocol.h            |   2 +-
 src/protocolhttp.cpp      |   2 +-
 src/protocolhttp.h        |   2 +-
 src/protocoltelnet.cpp    |   2 +-
 src/protocoltelnet.h      |   2 +-
 src/queue.cpp             |   2 +-
 src/queue.h               |   2 +-
 src/queuebuf.cpp          |  51 +++++++++++++-------
 src/queuebuf.h            |  26 ++++++-----
 src/regex.cpp             |   2 +-
 src/regex.h               |   2 +-
 src/ringbuffer.cpp        |   2 +-
 src/ringbuffer.h          |   2 +-
 src/server.cpp            |   2 +-
 src/server.h              |   2 +-
 src/set.cpp               |   2 +-
 src/set.h                 |   2 +-
 src/sha1.cpp              |   2 +-
 src/sha1.h                |   2 +-
 src/sharedcore.cpp        |   2 +-
 src/sharedcore.h          |   2 +-
 src/signals.cpp           |   2 +-
 src/signals.h             |   2 +-
 src/singleton.h           |   2 +-
 src/sio.cpp               |   2 +-
 src/sio.h                 |   2 +-
 src/sptr.cpp              |   2 +-
 src/sptr.h                |   2 +-
 src/stack.cpp             |   2 +-
 src/stack.h               |   2 +-
 src/stdstream.cpp         |  17 ++++++-
 src/stdstream.h           |   5 +-
 src/stream.cpp            |   2 +-
 src/stream.h              |   2 +-
 src/streamstack.cpp       |  46 ++++++++++++++----
 src/streamstack.h         |  30 ++++++++----
 src/string.cpp            |   2 +-
 src/string.h              |   2 +-
 src/substream.cpp         |  22 ++++-----
 src/substream.h           |  24 +++++-----
 src/taf.h                 |   2 +-
 src/tafcomment.cpp        |   2 +-
 src/tafcomment.h          |   2 +-
 src/tafgroup.cpp          |   2 +-
 src/tafgroup.h            |   2 +-
 src/tafnode.cpp           |   2 +-
 src/tafnode.h             |   2 +-
 src/tafproperty.cpp       |   2 +-
 src/tafproperty.h         |   2 +-
 src/tafreader.cpp         |   2 +-
 src/tafreader.h           |   2 +-
 src/tafwriter.cpp         |   2 +-
 src/tafwriter.h           |   2 +-
 src/tcpserversocket.cpp   |   2 +-
 src/tcpserversocket.h     |   2 +-
 src/tcpsocket.cpp         |   7 ++-
 src/tcpsocket.h           |   2 +-
 src/tests/archive.cpp     |   2 +-
 src/tests/archive2.cpp    |   2 +-
 src/tests/atom.cpp        |   2 +-
 src/tests/base64.cpp      |   2 +-
 src/tests/buffer.cpp      |   2 +-
 src/tests/bzip2.cpp       |   2 +-
 src/tests/cache.cpp       |   2 +-
 src/tests/console.cpp     |   2 +-
 src/tests/cryptpass.cpp   |   2 +-
 src/tests/csv.cpp         |   2 +-
 src/tests/daysinmonth.cpp |   2 +-
 src/tests/fastcgi.cpp     |   2 +-
 src/tests/formula.cpp     |   2 +-
 src/tests/fstratsptr.cpp  |   2 +-
 src/tests/fstrformat.cpp  |   2 +-
 src/tests/fstring.cpp     |   2 +-
 src/tests/fstrstd.cpp     |   2 +-
 src/tests/hash.cpp        |   2 +-
 src/tests/hash2.cpp       |   2 +-
 src/tests/heap.cpp        |   2 +-
 src/tests/itoheap.cpp     |   2 +-
 src/tests/itoqueue1.cpp   |   2 +-
 src/tests/itoqueue2.cpp   |   2 +-
 src/tests/itoserver.cpp   |   2 +-
 src/tests/list.cpp        |   2 +-
 src/tests/list2.cpp       |   2 +-
 src/tests/listsort.cpp    |   2 +-
 src/tests/logger.cpp      |   2 +-
 src/tests/md5.cpp         |   2 +-
 src/tests/minicron.cpp    |   2 +-
 src/tests/mmparse.cpp     |   2 +-
 src/tests/multiserver.cpp |   2 +-
 src/tests/optparser.cpp   |   2 +-
 src/tests/procs.cpp       |   2 +-
 src/tests/queuebuf.cpp    |   2 +-
 src/tests/regex.cpp       |   2 +-
 src/tests/ringbuffer.cpp  |   2 +-
 src/tests/rot13.cpp       |  10 ++--
 src/tests/serverticks.cpp |   2 +-
 src/tests/sha1.cpp        |   2 +-
 src/tests/sharedcore.cpp  |   2 +-
 src/tests/signals.cpp     |   2 +-
 src/tests/size.cpp        |   2 +-
 src/tests/socketblock.cpp |   2 +-
 src/tests/socketbreak.cpp |   6 +--
 src/tests/speed.cpp       |   2 +-
 src/tests/stdstream.cpp   |   2 +-
 src/tests/streamstack.cpp |   7 +++
 src/tests/taf.cpp         |   2 +-
 src/tests/tcpsocket.cpp   |   2 +-
 src/tests/telnetsrv.cpp   |   2 +-
 src/tests/tracer.cpp      |   2 +-
 src/tests/url.cpp         |   2 +-
 src/tests/uuid.cpp        |   2 +-
 src/tests/variant.cpp     |   2 +-
 src/tools/bnfcompile.cpp  |   7 +++
 src/tools/mkunit.cpp      |   7 +++
 src/tools/myriad.cpp      |   2 +-
 src/tools/myriadfs.cpp    |   7 +++
 src/tools/parser.cpp      |   7 +++
 src/tools/viewcsv.cpp     |   7 +++
 src/trace.cpp             |   2 +-
 src/trace.h               |   2 +-
 src/unit/archive.unit     |   2 +-
 src/unit/array.unit       |   2 +-
 src/unit/buffer.unit      |   2 +-
 src/unit/entities/unit    |   2 +-
 src/unit/file.unit        |   2 +-
 src/unit/fstring.unit     |   2 +-
 src/unit/hash.unit        |   2 +-
 src/unit/list.unit        |   2 +-
 src/unit/membuf.unit      |   2 +-
 src/unit/myriad.unit      |   2 +-
 src/unit/queuebuf.unit    |   2 +-
 src/unit/substream.unit   |   2 +-
 src/unit/taf.unit         |   2 +-
 src/unit/variant.unit     |   2 +-
 src/unit/xml.unit         |   2 +-
 src/unitsuite.cpp         |   2 +-
 src/unitsuite.h           |   2 +-
 src/url.cpp               |   2 +-
 src/url.h                 |   2 +-
 src/urn.cpp               |   2 +-
 src/urn.h                 |   2 +-
 src/utfstring.cpp         |   7 +++
 src/utfstring.h           |   7 +++
 src/util.cpp              |   2 +-
 src/util.h                |   2 +-
 src/uuid.cpp              |   2 +-
 src/uuid.h                |   2 +-
 src/variant.cpp           |   2 +-
 src/variant.h             |   2 +-
 src/xmlreader.cpp         |   2 +-
 src/xmlreader.h           |   2 +-
 295 files changed, 890 insertions(+), 756 deletions(-)
 delete mode 100644 build.conf
 delete mode 100644 buildMinGW.conf
 delete mode 100644 fstringtest.dev

(limited to 'src/tests')

diff --git a/LICENSE b/LICENSE
index be0f0c6..113c4af 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-Copyright (C) 2007-2010 Xagasoft
+Copyright (C) 2007-2011 Xagasoft
 
 All rights reserved.
 
diff --git a/Makefile b/Makefile
index 6f6446f..0b7716f 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2007-2008 Xagasoft, All rights reserved.
+# Copyright (C) 2007-2011 Xagasoft, All rights reserved.
 #
 # This file is part of the libbu++ library and is released under the
 # terms of the license contained in the file LICENSE.
diff --git a/Makefile.legacy b/Makefile.legacy
index b9b2305..15f8dfa 100644
--- a/Makefile.legacy
+++ b/Makefile.legacy
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2007-2008 Xagasoft, All rights reserved.
+# Copyright (C) 2007-2011 Xagasoft, All rights reserved.
 #
 # This file is part of the libbu++ library and is released under the
 # terms of the license contained in the file LICENSE.
diff --git a/build.conf b/build.conf
deleted file mode 100644
index b29809d..0000000
--- a/build.conf
+++ /dev/null
@@ -1,116 +0,0 @@
-# Build config file for libbu++
-#
-# Copyright (C) 2007-2008 Xagasoft, All rights reserved.
-#
-# This file is part of the libbu++ library and is released under the
-# terms of the license contained in the file LICENSE.
-
-default action: check group "lnhdrs", check "libbu++.a", check group "tools"
-"tests" action: check group "lnhdrs", check group "tests"
-"all" action: check group "lnhdrs", check targets()
-"optparser" action: check "tests/optparser"
-
-set "CXXFLAGS" += "-ggdb -W -Wall"
-#set "CXXFLAGS" += "-O2 -Wall"
-
-# set "CXXFLAGS" += "-pg"
-# set "LDFLAGS" += "-pg"
-
-filesIn("src") filter regexp("^src/(.*)\\.h$", "bu/{re:1}.h"):
-	rule "hln",
-	group "lnhdrs",
-	target file,
-	input "src/{re:1}.h"
-
-"libbu++.a":
-	rule "lib",
-	target file,
-	set "CXXFLAGS" += "-I. -fPIC",
-	input filesIn("src") filter regexp("^.*\\.cpp$")
-
-#"libbu++.so":
-#	rule "so",
-#	target file,
-#	set "CXXFLAGS" += "-I. -fPIC",
-#	set "LDFLAGS" += "-lpthread -lbz2",
-#	input filesIn("src") filter regexp("^.*\\.cpp$")
-
-
-directoriesIn("src/tests","tests/"):
-	rule "exe",
-	target file,
-	group "tests",
-	requires "libbu++.a",
-	set "CXXFLAGS" += "-I.",
-	set "LDFLAGS" += "-L. -lbu++",
-	input filesIn("{fulldir}") filter regexp("^.*\\.cpp$")
-
-filesIn("src/tests") filter regexp("^src/tests/(.*)\\.cpp$", "tests/{re:1}"):
-	rule "exe",
-	target file,
-	group "tests",
-	requires "libbu++.a",
-	set "CXXFLAGS" += "-I.",
-	set "LDFLAGS" += "-L. -lbu++",
-	input "src/{target}.cpp"
-
-filesIn("src/tools") filter regexp("^src/tools/(.*)\\.cpp$", "{re:1}"):
-	rule "exe",
-	target file,
-	group "tools",
-	requires "libbu++.a",
-	set "CXXFLAGS" += "-I.",
-	set "LDFLAGS" += "-L. -lbu++",
-	input "src/tools/{target}.cpp"
-
-["tests/itoqueue1", "tests/itoqueue2", "tests/socketblock", "tests/itoserver",
- "tests/itoheap"]:
-	set "LDFLAGS" += "-lpthread"
-
-filesIn("src/unit") filter regexp("^src/unit/(.*)\\.unit$", "unit/{re:1}"):
-	rule "exe",
-	target file,
-	group "tests",
-	group "unit",
-	requires "libbu++.a",
-	set "CXXFLAGS" += "-I.",
-	set "LDFLAGS" += "-L. -lbu++",
-	input "src/{target}.unit"
-
-"tests/plugin": set "LDFLAGS" += "-ldl"
-
-"tests/bzip2": set "LDFLAGS" += "-lbz2"
-
-rule "exe":
-	matches regexp("(.*)\\.o$"),
-	aggregate toString(" "),
-	perform command("g++ -o {target} {match} {LDFLAGS}")
-
-rule "lib":
-	matches regexp("(.*)\\.o$"),
-	aggregate toString(" "),
-	perform command("ar cr {target} {match}")
-
-rule "so":
-	matches regexp("(.*)\\.o$"),
-	aggregate toString(" "),
-	perform command("g++ -shared -o {target} {match} {LDFLAGS}")
-#	perform command("ld -G -o {target} {match}")
-
-rule "cpp":
-	matches regexp("(.*)\\.cpp$"),
-	produces "{re:1}.o",
-	requires commandToList("g++ -M {CXXFLAGS} {match}", "make"),
-	perform command("g++ {CXXFLAGS} -c -o {target} {match}")
-
-rule "unit":
-	matches regexp("(.*)\\.unit$"),
-	produces "{re:1}.cpp",
-	requires "mkunit.sh",
-	perform command("./mkunit.sh \"{match}\" \"{target}\"")
-
-rule "hln":
-	matches regexp("src/(.*)\\.h"),
-	produces "bu/{re:1}.h",
-	perform command("ln -s ../src/{re:1}.h {target}")
-
diff --git a/buildMinGW.conf b/buildMinGW.conf
deleted file mode 100644
index faf1088..0000000
--- a/buildMinGW.conf
+++ /dev/null
@@ -1,47 +0,0 @@
-# Build config file for libbu++
-#
-# Copyright (C) 2007-2008 Xagasoft, All rights reserved.
-#
-# This file is part of the libbu++ library and is released under the
-# terms of the license contained in the file LICENSE.
-
-default action: check group "lnhdrs", check "libbu++win.a"
-"tests" action: check group "lnhdrs", check group "tests"
-"all" action: check group "lnhdrs", check targets()
-
-set "CXXFLAGS" += "-ggdb -Wall"
-
-filesIn("src") filter regexp("^src/(.*)\\.h$", "bu/{re:1}.h"):
-	rule "hln",
-	group "lnhdrs",
-	target file,
-	input "src/{re:1}.h"
-
-"libbu++win.a":
-	rule "lib",
-	target file,
-	set "CXXFLAGS" += "-I. -Isupport/windows",
-	#input filesIn("src") filter regexp("^.*\\.cpp$")
-	input ["src/array.cpp", "src/list.cpp", "src/exceptionbase.cpp", "src/fbasicstring.cpp", "src/fstring.cpp", "src/file.cpp", "src/set.cpp", "src/hash.cpp", "src/sptr.cpp", "src/tafnode.cpp", "src/tafreader.cpp", "src/tafwriter.cpp", "src/tafgroup.cpp", "src/tafproperty.cpp", "src/tafcomment.cpp", "src/stdstream.cpp", "src/stream.cpp", "src/archive.cpp", "src/archival.cpp", "src/socket.cpp", "src/serversocket.cpp", "src/unitsuite.cpp", "src/win32_compatibility.cpp", "src/membuf.cpp", "src/formatter.cpp", "src/sio.cpp", "src/md5.cpp", "src/cryptohash.cpp", "src/filter.cpp", "src/bzip2.cpp", "src/base64.cpp", "src/minimacro.cpp", "src/formula.cpp", "src/util.cpp", "src/archivebase.cpp", "src/queue.cpp"]
-
-rule "exe":
-	matches regexp("(.*)\\.win_o$"),
-	aggregate toString(" "),
-	perform command("wine c:/MinGW/bin/mingw32-g++.exe -o {target} {match} {LDFLAGS}")
-
-rule "lib":
-	matches regexp("(.*)\\.win_o$"),
-	aggregate toString(" "),
-	perform command("wine c:/MinGW/bin/ar.exe cr {target} {match}")
-
-rule "cpp":
-	matches regexp("(.*)\\.cpp$"),
-	produces "{re:1}.win_o",
-	requires commandToList("wine c:/MinGW/bin/mingw32-g++.exe -M {CXXFLAGS} {match}", "make"),
-	perform command("wine c:/MinGW/bin/mingw32-g++.exe {CXXFLAGS} -c -o {target} {match}")
-
-rule "hln":
-	matches regexp("src/(.*)\\.h"),
-	produces "bu/{re:1}.h",
-	perform command("ln -s ../src/{re:1}.h {target}")
-
diff --git a/default.bld b/default.bld
index 50baefb..558b976 100644
--- a/default.bld
+++ b/default.bld
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/fstringtest.dev b/fstringtest.dev
deleted file mode 100644
index 297242d..0000000
--- a/fstringtest.dev
+++ /dev/null
@@ -1,59 +0,0 @@
-[Project]
-FileName=fstringtest.dev
-Name=fstringtest
-UnitCount=1
-Type=1
-Ver=1
-ObjFiles=
-Includes=z:\home\neonphog\wine_documents\libbu++\src\bu
-Libs=
-PrivateResource=
-ResourceIncludes=
-MakeIncludes=
-Compiler=
-CppCompiler=_@@_
-Linker=libbu++.a_@@_
-IsCpp=1
-Icon=
-ExeOutput=
-ObjectOutput=
-OverrideOutput=0
-OverrideOutputName=fstringtest.exe
-HostApplication=
-Folders=
-CommandLine=
-UseCustomMakefile=0
-CustomMakefile=
-IncludeVersionInfo=0
-SupportXPThemes=0
-CompilerSet=0
-CompilerSettings=0000000000000000000000
-
-[VersionInfo]
-Major=0
-Minor=1
-Release=1
-Build=1
-LanguageID=1033
-CharsetID=1252
-CompanyName=
-FileVersion=
-FileDescription=Developed using the Dev-C++ IDE
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=
-AutoIncBuildNr=0
-
-[Unit1]
-FileName=src\tests\fstring.cpp
-CompileCpp=1
-Folder=fstringtest
-Compile=1
-Link=1
-Priority=1000
-OverrideBuildCmd=0
-BuildCmd=
-
diff --git a/mingw.bld b/mingw.bld
index 7bdf474..29cdf31 100644
--- a/mingw.bld
+++ b/mingw.bld
@@ -1,7 +1,12 @@
+/*
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
+ *
+ * This file is part of the libbu++ library and is released under the
+ * terms of the license contained in the file LICENSE.
+ */
+
 /**
- * This is the default.bld file for libbu++, it pretty much handles everything
- * libbu++ related, kinda' cool, eh?  It can completely replace the old build
- * and actually does a better job with a number of things.
+ * This is just like default.bld, but for mingw...crazy, eh?
  */
 
 CXXFLAGS += "-ggdb -W -Wall";
diff --git a/src/archival.cpp b/src/archival.cpp
index bdd0620..687e8a3 100644
--- a/src/archival.cpp
+++ b/src/archival.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/archival.h b/src/archival.h
index 27e6aba..946167a 100644
--- a/src/archival.h
+++ b/src/archival.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/archive.cpp b/src/archive.cpp
index 7a10921..d300a87 100644
--- a/src/archive.cpp
+++ b/src/archive.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/archive.h b/src/archive.h
index 5294c15..61474a4 100644
--- a/src/archive.h
+++ b/src/archive.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/archivebase.cpp b/src/archivebase.cpp
index 5ca4c23..d00b1a5 100644
--- a/src/archivebase.cpp
+++ b/src/archivebase.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/archivebase.h b/src/archivebase.h
index 18591f0..4745d91 100644
--- a/src/archivebase.h
+++ b/src/archivebase.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/array.cpp b/src/array.cpp
index 62dd132..b776fed 100644
--- a/src/array.cpp
+++ b/src/array.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/array.h b/src/array.h
index f225c97..f091a81 100644
--- a/src/array.h
+++ b/src/array.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/atom.cpp b/src/atom.cpp
index 45fdbc5..3c77b90 100644
--- a/src/atom.cpp
+++ b/src/atom.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/atom.h b/src/atom.h
index ccfc535..7c8a166 100644
--- a/src/atom.h
+++ b/src/atom.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/base64.cpp b/src/base64.cpp
index 73ec8f3..18a18e5 100644
--- a/src/base64.cpp
+++ b/src/base64.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
@@ -64,7 +64,7 @@ void Bu::Base64::start()
 {
 }
 
-size_t Bu::Base64::stop()
+Bu::size Bu::Base64::stop()
 {
 //	if( eMode |= Encode )
 	{
@@ -89,11 +89,11 @@ size_t Bu::Base64::stop()
 //	}
 }
 
-size_t Bu::Base64::read( void *pBuf, size_t nBytes )
+Bu::size Bu::Base64::read( void *pBuf, Bu::size nBytes )
 {
 	if( bEosIn == true && iRPos == iChars )
 		return 0;
-	size_t sIn = 0;
+	Bu::size sIn = 0;
 	char buf[4];
 	while( sIn < nBytes )
 	{
@@ -153,11 +153,11 @@ size_t Bu::Base64::read( void *pBuf, size_t nBytes )
 	return sIn;
 }
 
-size_t Bu::Base64::write( const void *pBuf, size_t nBytes )
+Bu::size Bu::Base64::write( const void *pBuf, Bu::size nBytes )
 {
-	size_t sOut = 0;
+	Bu::size sOut = 0;
 	char outBuf[4];
-	for( size_t j = 0; j < nBytes; j++ )
+	for( Bu::size j = 0; j < nBytes; j++ )
 	{
 		iBuf |= (((uint8_t *)pBuf)[j])<<((2-iBPos++)*8);
 		if( iBPos == 3 )
diff --git a/src/base64.h b/src/base64.h
index c4dfd53..53d7860 100644
--- a/src/base64.h
+++ b/src/base64.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
@@ -26,9 +26,9 @@ namespace Bu
 		virtual ~Base64();
 
 		virtual void start();
-		virtual size_t stop();
-		virtual size_t read( void *pBuf, size_t nBytes );
-		virtual size_t write( const void *pBuf, size_t nBytes );
+		virtual Bu::size stop();
+		virtual Bu::size read( void *pBuf, Bu::size nBytes );
+		virtual Bu::size write( const void *pBuf, Bu::size nBytes );
 
 		virtual bool isOpen();
 
@@ -40,8 +40,8 @@ namespace Bu
 		int iRPos;
 		int iChars;
 		bool bEosIn;
-		size_t iTotalIn;
-		size_t iTotalOut;
+		Bu::size iTotalIn;
+		Bu::size iTotalOut;
 		static const char tblEnc[65];
 		char tblDec[80];
 		enum Mode
diff --git a/src/bitstring.cpp b/src/bitstring.cpp
index 39c2e63..bdd1bc2 100644
--- a/src/bitstring.cpp
+++ b/src/bitstring.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/bitstring.h b/src/bitstring.h
index a8aec57..7a8fc48 100644
--- a/src/bitstring.h
+++ b/src/bitstring.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/buffer.cpp b/src/buffer.cpp
index 234dc92..b54f97e 100644
--- a/src/buffer.cpp
+++ b/src/buffer.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
@@ -32,7 +32,7 @@ void Bu::Buffer::start()
 {
 }
 
-size_t Bu::Buffer::stop()
+Bu::size Bu::Buffer::stop()
 {
 	iReadBufFill = iReadPos = iWriteBufFill = iWritePos = 0;
 	return sSoFar;
@@ -49,7 +49,7 @@ void Bu::Buffer::fillReadBuf()
 	}
 }
 
-size_t Bu::Buffer::read( void *pBuf, size_t nBytes )
+Bu::size Bu::Buffer::read( void *pBuf, Bu::size nBytes )
 {
 	if( nBytes <= 0 )
 	{
@@ -57,7 +57,7 @@ size_t Bu::Buffer::read( void *pBuf, size_t nBytes )
 		return 0;
 	}
 
-	size_t nTotRead = 0;
+	Bu::size nTotRead = 0;
 //	fillReadBuf();
 
 	do
@@ -87,9 +87,9 @@ size_t Bu::Buffer::read( void *pBuf, size_t nBytes )
 	return nTotRead;
 }
 
-size_t Bu::Buffer::write( const void *pBuf, size_t nBytes )
+Bu::size Bu::Buffer::write( const void *pBuf, Bu::size nBytes )
 {
-	size_t nTotWrote = 0;
+	Bu::size nTotWrote = 0;
 
 	do
 	{
diff --git a/src/buffer.h b/src/buffer.h
index 97d4127..17c6d73 100644
--- a/src/buffer.h
+++ b/src/buffer.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
@@ -19,13 +19,13 @@ namespace Bu
 		virtual ~Buffer();
 
 		virtual void start();
-		virtual size_t stop();
+		virtual Bu::size stop();
 
-		virtual size_t read( void *pBuf, size_t nBytes );
-		virtual size_t write( const void *pBuf, size_t nBytes );
+		virtual Bu::size read( void *pBuf, Bu::size nBytes );
+		virtual Bu::size write( const void *pBuf, Bu::size nBytes );
 		using Stream::write;
 
-		size_t getReadFill() { return iReadBufFill; }
+		Bu::size getReadFill() { return iReadBufFill; }
 		bool isWritePending() { return iWriteBufFill > 0; }
 
 		virtual void flush();
@@ -36,7 +36,7 @@ namespace Bu
 		void fillReadBuf();
 
 	private:
-		size_t sSoFar;
+		Bu::size sSoFar;
 		int iBufSize;
 		char *sReadBuf;
 		char *sWriteBuf;
diff --git a/src/bzip2.cpp b/src/bzip2.cpp
index a6fef25..5c35a26 100644
--- a/src/bzip2.cpp
+++ b/src/bzip2.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
@@ -37,7 +37,7 @@ void Bu::BZip2::start()
 	pBuf = new char[nBufSize];
 }
 
-size_t Bu::BZip2::stop()
+Bu::size Bu::BZip2::stop()
 {
 	TRACE();
 	if( bzState.state )
@@ -51,7 +51,7 @@ size_t Bu::BZip2::stop()
 		}
 		else
 		{
-//			size_t sTotal = 0;
+//			Bu::size sTotal = 0;
 			for(;;)
 			{
 				bzState.next_in = NULL;
@@ -119,7 +119,7 @@ void Bu::BZip2::bzError( int code )
 	}
 }
 
-size_t Bu::BZip2::read( void *pData, size_t nBytes )
+Bu::size Bu::BZip2::read( void *pData, Bu::size nBytes )
 {
 	TRACE( pData, nBytes );
 	if( !bzState.state )
@@ -177,7 +177,7 @@ size_t Bu::BZip2::read( void *pData, size_t nBytes )
 	return 0;
 }
 
-size_t Bu::BZip2::write( const void *pData, size_t nBytes )
+Bu::size Bu::BZip2::write( const void *pData, Bu::size nBytes )
 {
 	TRACE( pData, nBytes );
 	if( !bzState.state )
@@ -188,7 +188,7 @@ size_t Bu::BZip2::write( const void *pData, size_t nBytes )
 	if( bReading == true )
 		throw ExceptionBase("This bzip2 filter is in reading mode, you can't write.");
 
-//	size_t sTotalOut = 0;
+//	Bu::size sTotalOut = 0;
 	bzState.next_in = (char *)pData;
 	bzState.avail_in = nBytes;
 	for(;;)
@@ -215,7 +215,7 @@ bool Bu::BZip2::isOpen()
 	return (bzState.state != NULL);
 }
 
-size_t Bu::BZip2::getCompressedSize()
+Bu::size Bu::BZip2::getCompressedSize()
 {
 	return sTotalOut;
 }
diff --git a/src/bzip2.h b/src/bzip2.h
index 6494cbb..6da3dff 100644
--- a/src/bzip2.h
+++ b/src/bzip2.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
@@ -26,13 +26,13 @@ namespace Bu
 		virtual ~BZip2();
 
 		virtual void start();
-		virtual size_t stop();
-		virtual size_t read( void *pBuf, size_t nBytes );
-		virtual size_t write( const void *pBuf, size_t nBytes );
+		virtual Bu::size stop();
+		virtual Bu::size read( void *pBuf, Bu::size nBytes );
+		virtual Bu::size write( const void *pBuf, Bu::size nBytes );
 
 		virtual bool isOpen();
 
-		size_t getCompressedSize();
+		Bu::size getCompressedSize();
 
 	private:
 		void bzError( int code );
@@ -41,7 +41,7 @@ namespace Bu
 		int nCompression;
 		char *pBuf;
 		uint32_t nBufSize;
-		size_t sTotalOut;
+		Bu::size sTotalOut;
 	};
 }
 
diff --git a/src/cache.cpp b/src/cache.cpp
index 928da68..52bd9fc 100644
--- a/src/cache.cpp
+++ b/src/cache.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/cache.h b/src/cache.h
index 7b55b80..926556d 100644
--- a/src/cache.h
+++ b/src/cache.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/cachecalc.cpp b/src/cachecalc.cpp
index d3ede87..7b8a10a 100644
--- a/src/cachecalc.cpp
+++ b/src/cachecalc.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/cachecalc.h b/src/cachecalc.h
index e23e6fd..89cfadc 100644
--- a/src/cachecalc.h
+++ b/src/cachecalc.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/cachestore.cpp b/src/cachestore.cpp
index 9b37e42..af49548 100644
--- a/src/cachestore.cpp
+++ b/src/cachestore.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/cachestore.h b/src/cachestore.h
index d35bc0a..d0d91a2 100644
--- a/src/cachestore.h
+++ b/src/cachestore.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/cachestorefiles.cpp b/src/cachestorefiles.cpp
index 7f9d76d..66ce672 100644
--- a/src/cachestorefiles.cpp
+++ b/src/cachestorefiles.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/cachestorefiles.h b/src/cachestorefiles.h
index 5a9478d..426cf83 100644
--- a/src/cachestorefiles.h
+++ b/src/cachestorefiles.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/cachestoremyriad.cpp b/src/cachestoremyriad.cpp
index b08aea1..9d00dce 100644
--- a/src/cachestoremyriad.cpp
+++ b/src/cachestoremyriad.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/cachestoremyriad.h b/src/cachestoremyriad.h
index 1928840..e632a82 100644
--- a/src/cachestoremyriad.h
+++ b/src/cachestoremyriad.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/client.cpp b/src/client.cpp
index c8d5dd4..02e51de 100644
--- a/src/client.cpp
+++ b/src/client.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
@@ -40,7 +40,7 @@ Bu::Client::~Client()
 void Bu::Client::processInput()
 {
 	char buf[RBS];
-	size_t nRead, nTotal=0;
+	Bu::size nRead, nTotal=0;
 
 	for(;;)
 	{
@@ -126,72 +126,72 @@ bool Bu::Client::isOpen()
 	return pTopStream->isOpen();
 }
 
-size_t Bu::Client::write( const Bu::String &sData )
+Bu::size Bu::Client::write( const Bu::String &sData )
 {
 	return qbWrite.write( sData.getStr(), sData.getSize() );
 }
 
-size_t Bu::Client::write( const void *pData, size_t nBytes )
+Bu::size Bu::Client::write( const void *pData, Bu::size nBytes )
 {
 	return qbWrite.write( pData, nBytes );
 }
 
-size_t Bu::Client::write( int8_t nData )
+Bu::size Bu::Client::write( int8_t nData )
 {
 	return qbWrite.write( (const char *)&nData, sizeof(nData) );
 }
 
-size_t Bu::Client::write( int16_t nData )
+Bu::size Bu::Client::write( int16_t nData )
 {
 	return qbWrite.write( (const char *)&nData, sizeof(nData) );
 }
 
-size_t Bu::Client::write( int32_t nData )
+Bu::size Bu::Client::write( int32_t nData )
 {
 	return qbWrite.write( (const char *)&nData, sizeof(nData) );
 }
 
-size_t Bu::Client::write( int64_t nData )
+Bu::size Bu::Client::write( int64_t nData )
 {
 	return qbWrite.write( (const char *)&nData, sizeof(nData) );
 }
 
-size_t Bu::Client::write( uint8_t nData )
+Bu::size Bu::Client::write( uint8_t nData )
 {
 	return qbWrite.write( (const char *)&nData, sizeof(nData) );
 }
 
-size_t Bu::Client::write( uint16_t nData )
+Bu::size Bu::Client::write( uint16_t nData )
 {
 	return qbWrite.write( (const char *)&nData, sizeof(nData) );
 }
 
-size_t Bu::Client::write( uint32_t nData )
+Bu::size Bu::Client::write( uint32_t nData )
 {
 	return qbWrite.write( (const char *)&nData, sizeof(nData) );
 }
 
-size_t Bu::Client::write( uint64_t nData )
+Bu::size Bu::Client::write( uint64_t nData )
 {
 	return qbWrite.write( (const char *)&nData, sizeof(nData) );
 }
 
-size_t Bu::Client::read( void *pData, size_t nBytes )
+Bu::size Bu::Client::read( void *pData, Bu::size nBytes )
 {
 	return qbRead.read( pData, nBytes );
 }
 
-size_t Bu::Client::peek( void *pData, int nBytes, int nOffset )
+Bu::size Bu::Client::peek( void *pData, int nBytes, int nOffset )
 {
 	return qbRead.peek( pData, nBytes, nOffset );
 }
 
-long Bu::Client::getInputSize()
+Bu::size Bu::Client::getInputSize()
 {
 	return qbRead.getSize();
 }
 
-long Bu::Client::getOutputSize()
+Bu::size Bu::Client::getOutputSize()
 {
 	return qbWrite.getSize();
 }
@@ -233,22 +233,22 @@ void Bu::Client::tick()
 		pProto->onTick( this );
 }
 
-long Bu::Client::tell()
+Bu::size Bu::Client::tell()
 {
 	return 0;
 }
 
-void Bu::Client::seek( long offset )
+void Bu::Client::seek( Bu::size offset )
 {
 	return qbRead.seek( offset );
 }
 
-void Bu::Client::setPos( long )
+void Bu::Client::setPos( Bu::size )
 {
 	throw Bu::ExceptionBase();
 }
 
-void Bu::Client::setPosEnd( long )
+void Bu::Client::setPosEnd( Bu::size )
 {
 	throw Bu::ExceptionBase();
 }
@@ -298,8 +298,23 @@ void Bu::Client::setBlocking( bool )
 	throw Bu::ExceptionBase();
 }
 
-void Bu::Client::setSize( long )
+void Bu::Client::setSize( Bu::size )
 {
 	throw Bu::ExceptionBase();
 }
 
+Bu::size Bu::Client::getSize() const
+{
+	return 0;
+}
+
+Bu::size Bu::Client::getBlockSize() const
+{
+	return pSocket->getBlockSize();
+}
+
+Bu::String Bu::Client::getLocation() const
+{
+	return pSocket->getLocation();
+}
+
diff --git a/src/client.h b/src/client.h
index 871acad..119c2c1 100644
--- a/src/client.h
+++ b/src/client.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
@@ -35,21 +35,21 @@ namespace Bu
 
 		//Bu::String &getInput();
 		//Bu::String &getOutput();
-		size_t write( const Bu::String &sData );
-		size_t write( const void *pData, size_t nBytes );
-		size_t write( int8_t nData );
-		size_t write( int16_t nData );
-		size_t write( int32_t nData );
-		size_t write( int64_t nData );
-		size_t write( uint8_t nData );
-		size_t write( uint16_t nData );
-		size_t write( uint32_t nData );
-		size_t write( uint64_t nData );
-		size_t read( void *pData, size_t nBytes );
-		size_t peek( void *pData, int nBytes, int nOffset=0 );
+		Bu::size write( const Bu::String &sData );
+		Bu::size write( const void *pData, Bu::size nBytes );
+		Bu::size write( int8_t nData );
+		Bu::size write( int16_t nData );
+		Bu::size write( int32_t nData );
+		Bu::size write( int64_t nData );
+		Bu::size write( uint8_t nData );
+		Bu::size write( uint16_t nData );
+		Bu::size write( uint32_t nData );
+		Bu::size write( uint64_t nData );
+		Bu::size read( void *pData, Bu::size nBytes );
+		Bu::size peek( void *pData, int nBytes, int nOffset=0 );
 //		void seek( int nBytes );
-		long getInputSize();
-		long getOutputSize();
+		Bu::size getInputSize();
+		Bu::size getOutputSize();
 
 		void setProtocol( Protocol *pProto );
 		Bu::Protocol *getProtocol();
@@ -99,10 +99,10 @@ namespace Bu
 		 * These are required to qualify as a stream, I dunno how many will
 		 * be implemented.
 		 */
-		virtual long tell();
-		virtual void seek( long offset );
-		virtual void setPos( long pos );
-		virtual void setPosEnd( long pos );
+		virtual Bu::size tell();
+		virtual void seek( Bu::size offset );
+		virtual void setPos( Bu::size pos );
+		virtual void setPosEnd( Bu::size pos );
 		virtual bool isEos();
 		virtual void flush();
 		virtual bool canRead();
@@ -112,7 +112,10 @@ namespace Bu
 		virtual bool isSeekable();
 		virtual bool isBlocking();
 		virtual void setBlocking( bool bBlocking=true );
-		virtual void setSize( long iSize );
+		virtual void setSize( Bu::size iSize );
+		virtual size getSize() const;
+		virtual size getBlockSize() const;
+		virtual Bu::String getLocation() const;
 
 	private:
 		typedef Bu::List FilterList;
diff --git a/src/clientlink.cpp b/src/clientlink.cpp
index 765e6a5..ce8b2cb 100644
--- a/src/clientlink.cpp
+++ b/src/clientlink.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/clientlink.h b/src/clientlink.h
index 28910bb..e4618e7 100644
--- a/src/clientlink.h
+++ b/src/clientlink.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/clientlinkfactory.cpp b/src/clientlinkfactory.cpp
index 5f17b50..f48e11e 100644
--- a/src/clientlinkfactory.cpp
+++ b/src/clientlinkfactory.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/clientlinkfactory.h b/src/clientlinkfactory.h
index a5f033c..21d3363 100644
--- a/src/clientlinkfactory.h
+++ b/src/clientlinkfactory.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/compat/linux.h b/src/compat/linux.h
index ccc8536..7eaed8e 100644
--- a/src/compat/linux.h
+++ b/src/compat/linux.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/compat/osx.h b/src/compat/osx.h
index 7169d7e..19628a3 100644
--- a/src/compat/osx.h
+++ b/src/compat/osx.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/compat/win32.cpp b/src/compat/win32.cpp
index 6fcac15..2a43ff9 100644
--- a/src/compat/win32.cpp
+++ b/src/compat/win32.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/compat/win32.h b/src/compat/win32.h
index 82ab4d6..67d80d3 100644
--- a/src/compat/win32.h
+++ b/src/compat/win32.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/conduit.cpp b/src/conduit.cpp
index 36cda01..bb99526 100644
--- a/src/conduit.cpp
+++ b/src/conduit.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/conduit.h b/src/conduit.h
index f8ad4fa..cc88667 100644
--- a/src/conduit.h
+++ b/src/conduit.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/config.h b/src/config.h
index 3a19a1f..3046b59 100644
--- a/src/config.h
+++ b/src/config.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/crypt.cpp b/src/crypt.cpp
index 97260c9..eb87479 100644
--- a/src/crypt.cpp
+++ b/src/crypt.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/crypt.h b/src/crypt.h
index d6bfe4b..a94402a 100644
--- a/src/crypt.h
+++ b/src/crypt.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/cryptohash.cpp b/src/cryptohash.cpp
index bb07a4b..ddd293c 100644
--- a/src/cryptohash.cpp
+++ b/src/cryptohash.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/cryptohash.h b/src/cryptohash.h
index 56dc356..bc5435f 100644
--- a/src/cryptohash.h
+++ b/src/cryptohash.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/csvreader.cpp b/src/csvreader.cpp
index 22b0608..4da7883 100644
--- a/src/csvreader.cpp
+++ b/src/csvreader.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/csvreader.h b/src/csvreader.h
index 1c3525c..2e9e7b0 100644
--- a/src/csvreader.h
+++ b/src/csvreader.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/csvwriter.cpp b/src/csvwriter.cpp
index 6b50ed0..58437b8 100644
--- a/src/csvwriter.cpp
+++ b/src/csvwriter.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/csvwriter.h b/src/csvwriter.h
index 8da5eee..4291ed5 100644
--- a/src/csvwriter.h
+++ b/src/csvwriter.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/doxy/archives.dox b/src/doxy/archives.dox
index 1eaa1e5..7155227 100644
--- a/src/doxy/archives.dox
+++ b/src/doxy/archives.dox
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/doxy/formatting.dox b/src/doxy/formatting.dox
index 6787461..7acb9de 100644
--- a/src/doxy/formatting.dox
+++ b/src/doxy/formatting.dox
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/doxy/groups.dox b/src/doxy/groups.dox
index 58d5d05..479186a 100644
--- a/src/doxy/groups.dox
+++ b/src/doxy/groups.dox
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/doxy/main.dox b/src/doxy/main.dox
index c4c3ada..2964ee5 100644
--- a/src/doxy/main.dox
+++ b/src/doxy/main.dox
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/doxy/params.dox b/src/doxy/params.dox
index 74e7ddc..78c3e63 100644
--- a/src/doxy/params.dox
+++ b/src/doxy/params.dox
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/doxy/plugins.dox b/src/doxy/plugins.dox
index b29e6a4..d913430 100644
--- a/src/doxy/plugins.dox
+++ b/src/doxy/plugins.dox
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/doxy/servers.dox b/src/doxy/servers.dox
index 7bda7c1..c344b8a 100644
--- a/src/doxy/servers.dox
+++ b/src/doxy/servers.dox
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/doxy/streams.dox b/src/doxy/streams.dox
index 0be3736..c039804 100644
--- a/src/doxy/streams.dox
+++ b/src/doxy/streams.dox
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/doxy/taf.dox b/src/doxy/taf.dox
index d8a5410..15692f4 100644
--- a/src/doxy/taf.dox
+++ b/src/doxy/taf.dox
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/doxy/threading.dox b/src/doxy/threading.dox
index 0ecf1f4..9a04ecb 100644
--- a/src/doxy/threading.dox
+++ b/src/doxy/threading.dox
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/doxy/unittest.dox b/src/doxy/unittest.dox
index 24e1de4..5304551 100644
--- a/src/doxy/unittest.dox
+++ b/src/doxy/unittest.dox
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/exceptionbase.cpp b/src/exceptionbase.cpp
index 3b4f87a..13a98db 100644
--- a/src/exceptionbase.cpp
+++ b/src/exceptionbase.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/exceptionbase.h b/src/exceptionbase.h
index c92962f..b6ad9ca 100644
--- a/src/exceptionbase.h
+++ b/src/exceptionbase.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/extratypes.h b/src/extratypes.h
index bc32dcd..0dd92db 100644
--- a/src/extratypes.h
+++ b/src/extratypes.h
@@ -1,8 +1,17 @@
+/*
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
+ *
+ * This file is part of the libbu++ library and is released under the
+ * terms of the license contained in the file LICENSE.
+ */
+
 #ifndef EXTRA_TYPES_H
 #define EXTRA_TYPES_H
 
 #include "bu/config.h"
 
+#include 
+
 namespace Bu
 {
 #ifdef USE_64BIT_IO
diff --git a/src/fastcgi.cpp b/src/fastcgi.cpp
index 1b012e8..2f9161e 100644
--- a/src/fastcgi.cpp
+++ b/src/fastcgi.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/fastcgi.h b/src/fastcgi.h
index 4463bee..1a3d02e 100644
--- a/src/fastcgi.h
+++ b/src/fastcgi.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/fifo.cpp b/src/fifo.cpp
index d6106cc..b0cf1c7 100644
--- a/src/fifo.cpp
+++ b/src/fifo.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
@@ -67,7 +67,7 @@ void Bu::Fifo::close()
 	}
 }
 
-size_t Bu::Fifo::read( void *pBuf, size_t nBytes )
+Bu::size Bu::Fifo::read( void *pBuf, Bu::size nBytes )
 {
 	if( iIn < 0 )
 		throw FifoException("Fifo not open for reading.");
@@ -75,7 +75,7 @@ size_t Bu::Fifo::read( void *pBuf, size_t nBytes )
 	return TEMP_FAILURE_RETRY( ::read( iIn, pBuf, nBytes ) );
 }
 
-size_t Bu::Fifo::write( const void *pBuf, size_t nBytes )
+Bu::size Bu::Fifo::write( const void *pBuf, Bu::size nBytes )
 {
 	if( iOut < 0 )
 		throw FifoException("Fifo not open for writing.");
@@ -83,20 +83,20 @@ size_t Bu::Fifo::write( const void *pBuf, size_t nBytes )
 	return TEMP_FAILURE_RETRY( ::write( iOut, pBuf, nBytes ) );
 }
 
-long Bu::Fifo::tell()
+Bu::size Bu::Fifo::tell()
 {
 	return -1;
 }
 
-void Bu::Fifo::seek( long )
+void Bu::Fifo::seek( Bu::size )
 {
 }
 
-void Bu::Fifo::setPos( long )
+void Bu::Fifo::setPos( Bu::size )
 {
 }
 
-void Bu::Fifo::setPosEnd( long )
+void Bu::Fifo::setPosEnd( Bu::size )
 {
 }
 
diff --git a/src/fifo.h b/src/fifo.h
index 140e966..18a70ba 100644
--- a/src/fifo.h
+++ b/src/fifo.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
@@ -31,14 +31,14 @@ namespace Bu
 		virtual ~Fifo();
 
 		virtual void close();
-		virtual size_t read( void *pBuf, size_t nBytes );
-		virtual size_t write( const void *pBuf, size_t nBytes );
+		virtual Bu::size read( void *pBuf, Bu::size nBytes );
+		virtual Bu::size write( const void *pBuf, Bu::size nBytes );
 		using Stream::write;
 
-		virtual long tell();
-		virtual void seek( long offset );
-		virtual void setPos( long pos );
-		virtual void setPosEnd( long pos );
+		virtual Bu::size tell();
+		virtual void seek( Bu::size offset );
+		virtual void setPos( Bu::size pos );
+		virtual void setPosEnd( Bu::size pos );
 		virtual bool isEos();
 		virtual bool isOpen();
 
diff --git a/src/file.cpp b/src/file.cpp
index 6634a62..09d53de 100644
--- a/src/file.cpp
+++ b/src/file.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
@@ -59,12 +59,12 @@ void Bu::File::close()
 	}
 }
 
-size_t Bu::File::read( void *pBuf, size_t nBytes )
+Bu::size Bu::File::read( void *pBuf, Bu::size nBytes )
 {
 	if( fd < 0 )
 		throw FileException("File not open.");
 
-	ssize_t iRead = ::read( fd, pBuf, nBytes );
+	Bu::size iRead = ::read( fd, pBuf, nBytes );
 	if( iRead == 0 )
 		bEos = true;
 	else if( iRead == -1 && errno == EAGAIN )
@@ -74,18 +74,18 @@ size_t Bu::File::read( void *pBuf, size_t nBytes )
 	return iRead;
 }
 
-size_t Bu::File::write( const void *pBuf, size_t nBytes )
+Bu::size Bu::File::write( const void *pBuf, Bu::size nBytes )
 {
 	if( fd < 0 )
 		throw FileException("File not open.");
 
-	ssize_t iWrote = ::write( fd, pBuf, nBytes );
+	Bu::size iWrote = ::write( fd, pBuf, nBytes );
 	if( iWrote < 0 )
 		throw FileException( errno, "%s", strerror( errno ) );
 	return iWrote;
 }
 
-long Bu::File::tell()
+Bu::size Bu::File::tell()
 {
 	if( fd < 0 )
 		throw FileException("File not open.");
@@ -93,7 +93,7 @@ long Bu::File::tell()
 	return lseek( fd, 0, SEEK_CUR );
 }
 
-void Bu::File::seek( long offset )
+void Bu::File::seek( Bu::size offset )
 {
 	if( fd < 0 )
 		throw FileException("File not open.");
@@ -102,7 +102,7 @@ void Bu::File::seek( long offset )
 	bEos = false;
 }
 
-void Bu::File::setPos( long pos )
+void Bu::File::setPos( Bu::size pos )
 {
 	if( fd < 0 )
 		throw FileException("File not open.");
@@ -111,7 +111,7 @@ void Bu::File::setPos( long pos )
 	bEos = false;
 }
 
-void Bu::File::setPosEnd( long pos )
+void Bu::File::setPosEnd( Bu::size pos )
 {
 	if( fd < 0 )
 		throw FileException("File not open.");
@@ -218,7 +218,7 @@ Bu::File Bu::File::tempFile( Bu::String &sName )
 			" iterations.");
 }
 
-void Bu::File::setSize( long iSize )
+void Bu::File::setSize( Bu::size iSize )
 {
 #ifdef WIN32
 	chsize( fd, iSize );
@@ -227,6 +227,25 @@ void Bu::File::setSize( long iSize )
 #endif
 }
 
+Bu::size Bu::File::getSize() const
+{
+	struct stat st;
+	fstat( fd, &st );
+	return st.st_size;
+}
+
+Bu::size Bu::File::getBlockSize() const
+{
+	struct stat st;
+	fstat( fd, &st );
+	return st.st_blksize;
+}
+
+Bu::String Bu::File::getLocation() const
+{
+	return "to be implemented";
+}
+
 #ifndef WIN32
 void Bu::File::chmod( mode_t t )
 {
diff --git a/src/file.h b/src/file.h
index 81c1592..e3225fa 100644
--- a/src/file.h
+++ b/src/file.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
@@ -31,14 +31,14 @@ namespace Bu
 		virtual ~File();
 
 		virtual void close();
-		virtual size_t read( void *pBuf, size_t nBytes );
-		virtual size_t write( const void *pBuf, size_t nBytes );
+		virtual Bu::size read( void *pBuf, Bu::size nBytes );
+		virtual Bu::size write( const void *pBuf, Bu::size nBytes );
 		using Stream::write;
 
-		virtual long tell();
-		virtual void seek( long offset );
-		virtual void setPos( long pos );
-		virtual void setPosEnd( long pos );
+		virtual Bu::size tell();
+		virtual void seek( Bu::size offset );
+		virtual void setPos( Bu::size pos );
+		virtual void setPosEnd( Bu::size pos );
 		virtual bool isEos();
 		virtual bool isOpen();
 
@@ -70,7 +70,11 @@ namespace Bu
 								/// Same as Write|Create|Truncate
 		};
 
-		virtual void setSize( long iSize );
+		virtual void setSize( Bu::size iSize );
+
+		virtual size getSize() const;
+		virtual size getBlockSize() const;
+		virtual Bu::String getLocation() const;
 
 		/**
 		 * Create a temp file and return its handle.  The file is opened 
diff --git a/src/filter.cpp b/src/filter.cpp
index 900baaa..3fe8f0e 100644
--- a/src/filter.cpp
+++ b/src/filter.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
@@ -22,22 +22,22 @@ void Bu::Filter::close()
 	rNext.close();
 }
 
-long Bu::Filter::tell()
+Bu::size Bu::Filter::tell()
 {
 	return rNext.tell();
 }
 
-void Bu::Filter::seek( long offset )
+void Bu::Filter::seek( Bu::size offset )
 {
 	rNext.seek( offset );
 }
 
-void Bu::Filter::setPos( long pos )
+void Bu::Filter::setPos( Bu::size pos )
 {
 	rNext.setPos( pos );
 }
 
-void Bu::Filter::setPosEnd( long pos )
+void Bu::Filter::setPosEnd( Bu::size pos )
 {
 	rNext.setPosEnd( pos );
 }
@@ -87,7 +87,7 @@ void Bu::Filter::setBlocking( bool bBlocking )
 	rNext.setBlocking( bBlocking );
 }
 
-void Bu::Filter::setSize( long )
+void Bu::Filter::setSize( Bu::size )
 {
 }
 
@@ -96,3 +96,18 @@ void Bu::Filter::flush()
 	rNext.flush();
 }
 
+Bu::size Bu::Filter::getSize() const
+{
+	return rNext.getSize();
+}
+
+Bu::size Bu::Filter::getBlockSize() const
+{
+	return rNext.getBlockSize();
+}
+
+Bu::String Bu::Filter::getLocation() const
+{
+	return rNext.getLocation();
+}
+
diff --git a/src/filter.h b/src/filter.h
index 5507daa..2c57805 100644
--- a/src/filter.h
+++ b/src/filter.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
@@ -41,12 +41,12 @@ namespace Bu
 		virtual ~Filter();
 
 		virtual void start()=0;
-		virtual size_t stop()=0;
+		virtual Bu::size stop()=0;
 		virtual void close();
-		virtual long tell();
-		virtual void seek( long offset );
-		virtual void setPos( long pos );
-		virtual void setPosEnd( long pos );
+		virtual Bu::size tell();
+		virtual void seek( Bu::size offset );
+		virtual void setPos( Bu::size pos );
+		virtual void setPosEnd( Bu::size pos );
 		virtual bool isEos();
 		virtual bool isOpen();
 
@@ -66,8 +66,12 @@ namespace Bu
 		 * Most filters won't re-implement this, it doesn't make a lot of sense
 		 * for filters, in general.
 		 */
-		virtual void setSize( long iSize );
+		virtual void setSize( Bu::size iSize );
 
+		virtual size getSize() const;
+		virtual size getBlockSize() const;
+		virtual Bu::String getLocation() const;
+		
 	protected:
 		Bu::Stream &rNext;
 
diff --git a/src/formatter.cpp b/src/formatter.cpp
index 9288e91..f73d46e 100644
--- a/src/formatter.cpp
+++ b/src/formatter.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/formatter.h b/src/formatter.h
index fb51c81..49507de 100644
--- a/src/formatter.h
+++ b/src/formatter.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/formula.cpp b/src/formula.cpp
index d8612eb..ac435ed 100644
--- a/src/formula.cpp
+++ b/src/formula.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/formula.h b/src/formula.h
index 757884f..687e6c3 100644
--- a/src/formula.h
+++ b/src/formula.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/hash.cpp b/src/hash.cpp
index a2052b8..59572ec 100644
--- a/src/hash.cpp
+++ b/src/hash.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/hash.h b/src/hash.h
index 04c3e76..26b16c7 100644
--- a/src/hash.h
+++ b/src/hash.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/heap.cpp b/src/heap.cpp
index 0f959da..a2ffac2 100644
--- a/src/heap.cpp
+++ b/src/heap.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/heap.h b/src/heap.h
index 31c2435..afe8be6 100644
--- a/src/heap.h
+++ b/src/heap.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/httpget.cpp b/src/httpget.cpp
index 673cdd6..99492a2 100644
--- a/src/httpget.cpp
+++ b/src/httpget.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
@@ -34,30 +34,30 @@ void Bu::HttpGet::get()
 //	sSrv.read(
 }
 
-size_t Bu::HttpGet::read( void * /*pBuf*/, size_t /*nBytes*/ )
+Bu::size Bu::HttpGet::read( void * /*pBuf*/, Bu::size /*nBytes*/ )
 {
 	return 0;
 }
 
-size_t Bu::HttpGet::write( const void * /*pBuf*/, size_t /*nBytes*/ )
+Bu::size Bu::HttpGet::write( const void * /*pBuf*/, Bu::size /*nBytes*/ )
 {
 	return 0;
 }
 
-long Bu::HttpGet::tell()
+Bu::size Bu::HttpGet::tell()
 {
 	return 0;
 }
 
-void Bu::HttpGet::seek( long )
+void Bu::HttpGet::seek( Bu::size )
 {
 }
 
-void Bu::HttpGet::setPos( long )
+void Bu::HttpGet::setPos( Bu::size )
 {
 }
 
-void Bu::HttpGet::setPosEnd( long )
+void Bu::HttpGet::setPosEnd( Bu::size )
 {
 }
 
@@ -109,3 +109,18 @@ void Bu::HttpGet::setBlocking( bool /*bBlocking*/ )
 {
 }
 
+Bu::size Bu::HttpGet::getSize() const
+{
+	return 0;
+}
+
+Bu::size Bu::HttpGet::getBlockSize() const
+{
+	return 0;
+}
+
+Bu::String Bu::HttpGet::getLocation() const
+{
+	return uSrc.getUrl();
+}
+
diff --git a/src/httpget.h b/src/httpget.h
index 58982c0..a58e8ac 100644
--- a/src/httpget.h
+++ b/src/httpget.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
@@ -26,14 +26,14 @@ namespace Bu
 
 		// From Bu::Stream
 		virtual void close();
-		virtual size_t read( void *pBuf, size_t nBytes );
-		virtual size_t write( const void *pBuf, size_t nBytes );
+		virtual Bu::size read( void *pBuf, Bu::size nBytes );
+		virtual Bu::size write( const void *pBuf, Bu::size nBytes );
 		using Stream::write;
 
-		virtual long tell();
-		virtual void seek( long offset );
-		virtual void setPos( long pos );
-		virtual void setPosEnd( long pos );
+		virtual Bu::size tell();
+		virtual void seek( Bu::size offset );
+		virtual void setPos( Bu::size pos );
+		virtual void setPosEnd( Bu::size pos );
 		virtual bool isEos();
 		virtual bool isOpen();
 
@@ -49,6 +49,10 @@ namespace Bu
 		virtual bool isBlocking();
 		virtual void setBlocking( bool bBlocking=true );
 
+		virtual size getSize() const;
+		virtual size getBlockSize() const;
+		virtual Bu::String getLocation() const;
+
 	private:
 		Bu::Url uSrc;
 		Bu::String sMethod;
diff --git a/src/ito.cpp b/src/ito.cpp
index 12aee6f..aa9a597 100644
--- a/src/ito.cpp
+++ b/src/ito.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/ito.h b/src/ito.h
index a60a23d..9f50b2a 100644
--- a/src/ito.h
+++ b/src/ito.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/itoatom.h b/src/itoatom.h
index 20ef911..3659f4e 100644
--- a/src/itoatom.h
+++ b/src/itoatom.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/itocondition.cpp b/src/itocondition.cpp
index ddf8d0d..3d8db60 100644
--- a/src/itocondition.cpp
+++ b/src/itocondition.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/itocondition.h b/src/itocondition.h
index 6468728..88e8d6c 100644
--- a/src/itocondition.h
+++ b/src/itocondition.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/itocounter.cpp b/src/itocounter.cpp
index 9f71a77..0c6e06c 100644
--- a/src/itocounter.cpp
+++ b/src/itocounter.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/itocounter.h b/src/itocounter.h
index 6f52175..10df467 100644
--- a/src/itocounter.h
+++ b/src/itocounter.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/itoheap.cpp b/src/itoheap.cpp
index 546edea..21ccef8 100644
--- a/src/itoheap.cpp
+++ b/src/itoheap.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/itoheap.h b/src/itoheap.h
index 7fdbba3..a5aad05 100644
--- a/src/itoheap.h
+++ b/src/itoheap.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/itomutex.cpp b/src/itomutex.cpp
index 4c6ae4c..8de6336 100644
--- a/src/itomutex.cpp
+++ b/src/itomutex.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/itomutex.h b/src/itomutex.h
index 6cf08b4..68a0c1d 100644
--- a/src/itomutex.h
+++ b/src/itomutex.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/itoqueue.h b/src/itoqueue.h
index 6801c91..dc3cadb 100644
--- a/src/itoqueue.h
+++ b/src/itoqueue.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/itoserver.cpp b/src/itoserver.cpp
index 80e5bfb..9f03417 100644
--- a/src/itoserver.cpp
+++ b/src/itoserver.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/itoserver.h b/src/itoserver.h
index 83e7552..902c684 100644
--- a/src/itoserver.h
+++ b/src/itoserver.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/lexer.cpp b/src/lexer.cpp
index 5db6bbc..7dc2b23 100644
--- a/src/lexer.cpp
+++ b/src/lexer.cpp
@@ -1,3 +1,10 @@
+/*
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
+ *
+ * This file is part of the libbu++ library and is released under the
+ * terms of the license contained in the file LICENSE.
+ */
+
 #include "bu/lexer.h"
 
 Bu::Lexer::Lexer()
diff --git a/src/lexer.h b/src/lexer.h
index f4e0479..b057692 100644
--- a/src/lexer.h
+++ b/src/lexer.h
@@ -1,3 +1,10 @@
+/*
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
+ *
+ * This file is part of the libbu++ library and is released under the
+ * terms of the license contained in the file LICENSE.
+ */
+
 #ifndef BU_LEXER_H
 #define BU_LEXER_H
 
diff --git a/src/linkmessage.cpp b/src/linkmessage.cpp
index 55e5026..cd024c0 100644
--- a/src/linkmessage.cpp
+++ b/src/linkmessage.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/linkmessage.h b/src/linkmessage.h
index 3c966df..69423b3 100644
--- a/src/linkmessage.h
+++ b/src/linkmessage.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/list.cpp b/src/list.cpp
index cbd6929..e05765e 100644
--- a/src/list.cpp
+++ b/src/list.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/list.h b/src/list.h
index b1e0d0f..560dfd9 100644
--- a/src/list.h
+++ b/src/list.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/logger.cpp b/src/logger.cpp
index eb5ac2d..8e46390 100644
--- a/src/logger.cpp
+++ b/src/logger.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/logger.h b/src/logger.h
index 9a4b030..5c1352b 100644
--- a/src/logger.h
+++ b/src/logger.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/md5.cpp b/src/md5.cpp
index db70ddc..f971f23 100644
--- a/src/md5.cpp
+++ b/src/md5.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/md5.h b/src/md5.h
index d43574d..d4a82ec 100644
--- a/src/md5.h
+++ b/src/md5.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/membuf.cpp b/src/membuf.cpp
index 2dc266f..14d0d58 100644
--- a/src/membuf.cpp
+++ b/src/membuf.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
@@ -149,6 +149,21 @@ void Bu::MemBuf::setSize( size iSize )
 		nPos = iSize;
 }
 
+Bu::size Bu::MemBuf::getSize() const
+{
+	return sBuf.getSize();
+}
+
+Bu::size Bu::MemBuf::getBlockSize() const
+{
+	return sBuf.getSize();
+}
+
+Bu::String Bu::MemBuf::getLocation() const
+{
+	return "";
+}
+
 Bu::String &Bu::MemBuf::getString()
 {
 	return sBuf;
diff --git a/src/membuf.h b/src/membuf.h
index 7faa956..d98a29c 100644
--- a/src/membuf.h
+++ b/src/membuf.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
@@ -47,6 +47,9 @@ namespace Bu
 		virtual bool isBlocking();
 		virtual void setBlocking( bool bBlocking=true );
 		virtual void setSize( size iSize );
+		virtual size getSize() const;
+		virtual size getBlockSize() const;
+		virtual Bu::String getLocation() const;
 
 		Bu::String &getString();
 		void setString( const Bu::String &sNewData );
diff --git a/src/minicron.cpp b/src/minicron.cpp
index 307880e..3375492 100644
--- a/src/minicron.cpp
+++ b/src/minicron.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/minicron.h b/src/minicron.h
index 42369f5..7ccf543 100644
--- a/src/minicron.h
+++ b/src/minicron.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/minimacro.cpp b/src/minimacro.cpp
index 6c5a7c9..b6fd6a8 100644
--- a/src/minimacro.cpp
+++ b/src/minimacro.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/minimacro.h b/src/minimacro.h
index 0483190..582e1b0 100644
--- a/src/minimacro.h
+++ b/src/minimacro.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/multiserver.cpp b/src/multiserver.cpp
index 58f2a7c..bd598ed 100644
--- a/src/multiserver.cpp
+++ b/src/multiserver.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/multiserver.h b/src/multiserver.h
index d529d0c..e3b3ec3 100644
--- a/src/multiserver.h
+++ b/src/multiserver.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/myriad.cpp b/src/myriad.cpp
index b656b52..0e8dc80 100644
--- a/src/myriad.cpp
+++ b/src/myriad.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/myriad.h b/src/myriad.h
index 582d310..86c7aa1 100644
--- a/src/myriad.h
+++ b/src/myriad.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/myriadfs.cpp b/src/myriadfs.cpp
index af60c08..9f68253 100644
--- a/src/myriadfs.cpp
+++ b/src/myriadfs.cpp
@@ -1,3 +1,10 @@
+/*
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
+ *
+ * This file is part of the libbu++ library and is released under the
+ * terms of the license contained in the file LICENSE.
+ */
+
 #include "bu/myriadfs.h"
 #include "bu/myriadstream.h"
 
diff --git a/src/myriadfs.h b/src/myriadfs.h
index 42a3493..edbdaf5 100644
--- a/src/myriadfs.h
+++ b/src/myriadfs.h
@@ -1,3 +1,10 @@
+/*
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
+ *
+ * This file is part of the libbu++ library and is released under the
+ * terms of the license contained in the file LICENSE.
+ */
+
 #ifndef MYRIAD_FS_H
 #define MYRIAD_FS_H
 
diff --git a/src/myriadstream.cpp b/src/myriadstream.cpp
index 74dca04..a968a0c 100644
--- a/src/myriadstream.cpp
+++ b/src/myriadstream.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
@@ -46,13 +46,13 @@ void Bu::MyriadStream::close()
 {
 }
 
-size_t Bu::MyriadStream::read( void *pBuf, size_t nBytes )
+Bu::size Bu::MyriadStream::read( void *pBuf, Bu::size nBytes )
 {
 #ifdef MYRIAD_STREAM_DEBUG
 	sio << "MyriadStream: read: " << __LINE__ << ": Started, asked to read " << nBytes << "b."
 		<< sio.nl;
 #endif
-	if( nBytes > (size_t)pStream->iSize-iPos )
+	if( nBytes > (Bu::size)pStream->iSize-iPos )
 		nBytes = pStream->iSize-iPos;
 	if( nBytes <= 0 )
 		return 0;
@@ -109,7 +109,7 @@ size_t Bu::MyriadStream::read( void *pBuf, size_t nBytes )
 	return nBytes;
 }
 
-size_t Bu::MyriadStream::write( const void *pBuf, size_t nBytes )
+Bu::size Bu::MyriadStream::write( const void *pBuf, Bu::size nBytes )
 {
 	if( nBytes <= 0 )
 		return 0;
@@ -215,22 +215,22 @@ size_t Bu::MyriadStream::write( const void *pBuf, size_t nBytes )
 	return nBytes;
 }
 
-long Bu::MyriadStream::tell()
+Bu::size Bu::MyriadStream::tell()
 {
 	return iPos;
 }
 
-void Bu::MyriadStream::seek( long offset )
+void Bu::MyriadStream::seek( Bu::size offset )
 {
 	iPos += offset;
 }
 
-void Bu::MyriadStream::setPos( long pos )
+void Bu::MyriadStream::setPos( Bu::size pos )
 {
 	iPos = pos;
 }
 
-void Bu::MyriadStream::setPosEnd( long pos )
+void Bu::MyriadStream::setPosEnd( Bu::size pos )
 {
 	iPos = pStream->iSize-pos;
 }
@@ -283,7 +283,7 @@ void Bu::MyriadStream::setBlocking( bool /*bBlocking*/ )
 {
 }
 
-void Bu::MyriadStream::setSize( long iSize )
+void Bu::MyriadStream::setSize( Bu::size iSize )
 {
 	if( iSize < 0 )
 		iSize = 0;
@@ -292,3 +292,20 @@ void Bu::MyriadStream::setSize( long iSize )
 		iPos = iSize;
 }
 
+Bu::size Bu::MyriadStream::getSize() const
+{
+	return pStream->iSize;
+}
+
+Bu::size Bu::MyriadStream::getBlockSize() const
+{
+	return rMyriad.getBlockSize();
+}
+
+Bu::String Bu::MyriadStream::getLocation() const
+{
+	Bu::String s;
+	s.format("%d", pStream->iId );
+	return s;
+}
+
diff --git a/src/myriadstream.h b/src/myriadstream.h
index 1a5e552..fdad669 100644
--- a/src/myriadstream.h
+++ b/src/myriadstream.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
@@ -26,13 +26,13 @@ namespace Bu
 		virtual ~MyriadStream();
 
 		virtual void close();
-		virtual size_t read( void *pBuf, size_t nBytes );
-		virtual size_t write( const void *pBuf, size_t nBytes );
+		virtual Bu::size read( void *pBuf, Bu::size nBytes );
+		virtual Bu::size write( const void *pBuf, Bu::size nBytes );
 		using Stream::write;
-		virtual long tell();
-		virtual void seek( long offset );
-		virtual void setPos( long pos );
-		virtual void setPosEnd( long pos );
+		virtual Bu::size tell();
+		virtual void seek( Bu::size offset );
+		virtual void setPos( Bu::size pos );
+		virtual void setPosEnd( Bu::size pos );
 		virtual bool isEos();
 		virtual bool isOpen();
 		virtual void flush();
@@ -43,7 +43,11 @@ namespace Bu
 		virtual bool isSeekable();
 		virtual bool isBlocking();
 		virtual void setBlocking( bool bBlocking=true );
-		virtual void setSize( long iSize );
+		virtual void setSize( Bu::size iSize );
+
+		virtual size getSize() const;
+		virtual size getBlockSize() const;
+		virtual Bu::String getLocation() const;
 
 	private:
 		Myriad &rMyriad;
diff --git a/src/newline.cpp b/src/newline.cpp
index 8c5d3d5..ffc9eb0 100644
--- a/src/newline.cpp
+++ b/src/newline.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
@@ -21,19 +21,19 @@ void Bu::NewLine::start()
 {
 }
 
-size_t Bu::NewLine::stop()
+Bu::size Bu::NewLine::stop()
 {
 	return 0;
 }
 
-size_t Bu::NewLine::read( void *pBufV, size_t iAmnt )
+Bu::size Bu::NewLine::read( void *pBufV, Bu::size iAmnt )
 {
-	size_t iTotal = 0;
-	size_t iOffset = 0;
-	size_t iRead = rNext.read( pBufV, iAmnt );
+	Bu::size iTotal = 0;
+	Bu::size iOffset = 0;
+	Bu::size iRead = rNext.read( pBufV, iAmnt );
 	char *pBuf = (char *)pBufV;
 
-	for( size_t i = 0; i < iRead; i++ )
+	for( Bu::size i = 0; i < iRead; i++ )
 	{
 		if( pBuf[i] == '\r' )
 		{
@@ -61,7 +61,7 @@ size_t Bu::NewLine::read( void *pBufV, size_t iAmnt )
 	return iTotal;
 }
 
-size_t Bu::NewLine::write( const void *, size_t )
+Bu::size Bu::NewLine::write( const void *, Bu::size )
 {
 	return 0;
 }
diff --git a/src/newline.h b/src/newline.h
index 243c876..afe0a84 100644
--- a/src/newline.h
+++ b/src/newline.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
@@ -27,10 +27,10 @@ namespace Bu
 		virtual ~NewLine();
 
 		virtual void start();
-		virtual size_t stop();
+		virtual Bu::size stop();
 
-		virtual size_t read( void *pBuf, size_t iAmnt );
-		virtual size_t write( const void *pBuf, size_t iAmnt );
+		virtual Bu::size read( void *pBuf, Bu::size iAmnt );
+		virtual Bu::size write( const void *pBuf, Bu::size iAmnt );
 
 	private:
 		bool bExChar;
diff --git a/src/nullstream.cpp b/src/nullstream.cpp
index 6f792e3..9552cc5 100644
--- a/src/nullstream.cpp
+++ b/src/nullstream.cpp
@@ -1,3 +1,10 @@
+/*
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
+ *
+ * This file is part of the libbu++ library and is released under the
+ * terms of the license contained in the file LICENSE.
+ */
+
 #include "bu/nullstream.h"
 
 Bu::NullStream::NullStream() :
@@ -15,7 +22,7 @@ void Bu::NullStream::close()
 	sRead = sWrote = 0;
 }
 
-size_t Bu::NullStream::read( void *pBuf, size_t nBytes )
+Bu::size Bu::NullStream::read( void *pBuf, Bu::size nBytes )
 {
 	memset( pBuf, 0, nBytes );
 	sRead += nBytes;
@@ -28,26 +35,26 @@ Bu::String Bu::NullStream::readLine()
 	return Bu::String("\0", 1 );
 }
 
-size_t Bu::NullStream::write( const void *, size_t nBytes )
+Bu::size Bu::NullStream::write( const void *, Bu::size nBytes )
 {
 	sWrote += nBytes;
 	return nBytes;
 }
 
-long Bu::NullStream::tell()
+Bu::size Bu::NullStream::tell()
 {
 	return sRead + sWrote;
 }
 
-void Bu::NullStream::seek( long )
+void Bu::NullStream::seek( Bu::size )
 {
 }
 
-void Bu::NullStream::setPos( long )
+void Bu::NullStream::setPos( Bu::size )
 {
 }
 
-void Bu::NullStream::setPosEnd( long )
+void Bu::NullStream::setPosEnd( Bu::size )
 {
 }
 
@@ -99,7 +106,22 @@ void Bu::NullStream::setBlocking( bool )
 {
 }
 
-void Bu::NullStream::setSize( long )
+void Bu::NullStream::setSize( Bu::size )
+{
+}
+
+Bu::size Bu::NullStream::getSize() const
+{
+	return 0;
+}
+
+Bu::size Bu::NullStream::getBlockSize() const
+{
+	return 0;
+}
+
+Bu::String Bu::NullStream::getLocation() const
 {
+	return "";
 }
 
diff --git a/src/nullstream.h b/src/nullstream.h
index 8c1f744..9b75332 100644
--- a/src/nullstream.h
+++ b/src/nullstream.h
@@ -1,3 +1,10 @@
+/*
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
+ *
+ * This file is part of the libbu++ library and is released under the
+ * terms of the license contained in the file LICENSE.
+ */
+
 #ifndef BU_NULL_STREAM_H
 #define BU_NULL_STREAM_H
 
@@ -24,14 +31,14 @@ namespace Bu
 		virtual ~NullStream();
 
 		virtual void close();
-		virtual size_t read( void *pBuf, size_t nBytes );
+		virtual Bu::size read( void *pBuf, Bu::size nBytes );
 		virtual Bu::String readLine();
-		virtual size_t write( const void *pBuf, size_t nBytes );
+		virtual Bu::size write( const void *pBuf, Bu::size nBytes );
 		using Bu::Stream::write;
-		virtual long tell();
-		virtual void seek( long offset );
-		virtual void setPos( long pos );
-		virtual void setPosEnd( long pos );
+		virtual Bu::size tell();
+		virtual void seek( Bu::size offset );
+		virtual void setPos( Bu::size pos );
+		virtual void setPosEnd( Bu::size pos );
 		virtual bool isEos();
 		virtual bool isOpen();
 		virtual void flush();
@@ -42,14 +49,18 @@ namespace Bu
 		virtual bool isSeekable();
 		virtual bool isBlocking();
 		virtual void setBlocking( bool bBlocking=true );
-		virtual void setSize( long iSize );
+		virtual void setSize( Bu::size iSize );
+
+		virtual size getSize() const;
+		virtual size getBlockSize() const;
+		virtual Bu::String getLocation() const;
 
-		size_t getBytesRead() { return sRead; }
-		size_t getByetsWritten() { return sWrote; }
+		Bu::size getBytesRead() { return sRead; }
+		Bu::size getByetsWritten() { return sWrote; }
 
 	private:
-		size_t sRead;
-		size_t sWrote;
+		Bu::size sRead;
+		Bu::size sWrote;
 	};
 };
 
diff --git a/src/optparser.cpp b/src/optparser.cpp
index 7b4e0d0..bab93d0 100644
--- a/src/optparser.cpp
+++ b/src/optparser.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/optparser.h b/src/optparser.h
index 9781542..4142e22 100644
--- a/src/optparser.h
+++ b/src/optparser.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/parser.cpp b/src/parser.cpp
index e46967c..4d9f793 100644
--- a/src/parser.cpp
+++ b/src/parser.cpp
@@ -1,3 +1,10 @@
+/*
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
+ *
+ * This file is part of the libbu++ library and is released under the
+ * terms of the license contained in the file LICENSE.
+ */
+
 #include "bu/parser.h"
 #include "bu/lexer.h"
 
diff --git a/src/parser.h b/src/parser.h
index f4c4a74..a168c7b 100644
--- a/src/parser.h
+++ b/src/parser.h
@@ -1,3 +1,10 @@
+/*
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
+ *
+ * This file is part of the libbu++ library and is released under the
+ * terms of the license contained in the file LICENSE.
+ */
+
 #ifndef BU_PARSER_H
 #define BU_PARSER_H
 
diff --git a/src/plugger.cpp b/src/plugger.cpp
index e424f9c..6e49b4e 100644
--- a/src/plugger.cpp
+++ b/src/plugger.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/plugger.h b/src/plugger.h
index ef0cb53..65ac4bb 100644
--- a/src/plugger.h
+++ b/src/plugger.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/process.cpp b/src/process.cpp
index 0e3e93a..8ea6ce3 100644
--- a/src/process.cpp
+++ b/src/process.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
@@ -133,7 +133,7 @@ void Bu::Process::close()
 	}
 }
 
-size_t Bu::Process::read( void *pBuf, size_t nBytes )
+Bu::size Bu::Process::read( void *pBuf, Bu::size nBytes )
 {
 	if( bStdOutEos )
 		return 0;
@@ -145,7 +145,7 @@ size_t Bu::Process::read( void *pBuf, size_t nBytes )
 		throw Bu::ExceptionBase( strerror( errno ) );
 	if( FD_ISSET( iStdOut, &rfds ) || bBlocking )
 	{
-		ssize_t nRead = TEMP_FAILURE_RETRY( ::read( iStdOut, pBuf, nBytes ) );
+		Bu::size nRead = TEMP_FAILURE_RETRY( ::read( iStdOut, pBuf, nBytes ) );
 		if( nRead == 0 )
 		{
 			bStdOutEos = true;
@@ -163,7 +163,7 @@ size_t Bu::Process::read( void *pBuf, size_t nBytes )
 	return 0;
 }
 
-size_t Bu::Process::readErr( void *pBuf, size_t nBytes )
+Bu::size Bu::Process::readErr( void *pBuf, Bu::size nBytes )
 {
 	if( bStdErrEos )
 		return 0;
@@ -175,7 +175,7 @@ size_t Bu::Process::readErr( void *pBuf, size_t nBytes )
 		throw Bu::ExceptionBase( strerror( errno ) );
 	if( FD_ISSET( iStdErr, &rfds ) || bBlocking )
 	{
-		ssize_t nRead = TEMP_FAILURE_RETRY( ::read( iStdErr, pBuf, nBytes ) );
+		Bu::size nRead = TEMP_FAILURE_RETRY( ::read( iStdErr, pBuf, nBytes ) );
 		if( nRead == 0 )
 		{
 			bStdErrEos = true;
@@ -193,25 +193,25 @@ size_t Bu::Process::readErr( void *pBuf, size_t nBytes )
 	return 0;
 }
 
-size_t Bu::Process::write( const void *pBuf, size_t nBytes )
+Bu::size Bu::Process::write( const void *pBuf, Bu::size nBytes )
 {
 	return TEMP_FAILURE_RETRY( ::write( iStdIn, pBuf, nBytes ) );
 }
 
-long Bu::Process::tell()
+Bu::size Bu::Process::tell()
 {
 	return 0;
 }
 
-void Bu::Process::seek( long )
+void Bu::Process::seek( Bu::size )
 {
 }
 
-void Bu::Process::setPos( long )
+void Bu::Process::setPos( Bu::size )
 {
 }
 
-void Bu::Process::setPosEnd( long )
+void Bu::Process::setPosEnd( Bu::size )
 {
 }
 
@@ -278,10 +278,25 @@ void Bu::Process::setBlocking( bool bBlocking )
 	this->bBlocking = bBlocking;
 }
 
-void Bu::Process::setSize( long )
+void Bu::Process::setSize( Bu::size )
 {
 }
 
+Bu::size Bu::Process::getBlockSize() const
+{
+	return 0;
+}
+
+Bu::size Bu::Process::getSize() const
+{
+	return 0;
+}
+
+Bu::String Bu::Process::getLocation() const
+{
+	return "";
+}
+
 void Bu::Process::select( bool &bStdOut, bool &bStdErr )
 {
 	fd_set rfds;
diff --git a/src/process.h b/src/process.h
index d787854..4934408 100644
--- a/src/process.h
+++ b/src/process.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
@@ -44,15 +44,15 @@ namespace Bu
 		void wait();
 
 		virtual void close();
-		virtual size_t read( void *pBuf, size_t nBytes );
-		virtual size_t readErr( void *pBuf, size_t nBytes );
-		virtual size_t write( const void *pBuf, size_t nBytes );
+		virtual Bu::size read( void *pBuf, Bu::size nBytes );
+		virtual Bu::size readErr( void *pBuf, Bu::size nBytes );
+		virtual Bu::size write( const void *pBuf, Bu::size nBytes );
 		using Stream::write;
 
-		virtual long tell();
-		virtual void seek( long offset );
-		virtual void setPos( long pos );
-		virtual void setPosEnd( long pos );
+		virtual Bu::size tell();
+		virtual void seek( Bu::size offset );
+		virtual void setPos( Bu::size pos );
+		virtual void setPosEnd( Bu::size pos );
 		virtual bool isEos();
 		virtual bool isOpen();
 
@@ -68,7 +68,11 @@ namespace Bu
 		virtual bool isBlocking();
 		virtual void setBlocking( bool bBlocking=true );
 
-		virtual void setSize( long iSize );
+		virtual void setSize( Bu::size iSize );
+
+		virtual size getBlockSize() const;
+		virtual size getSize() const;
+		virtual Bu::String getLocation() const;
 
 		void select( bool &bStdOut, bool &bStdErr );
 
diff --git a/src/programchain.cpp b/src/programchain.cpp
index a86cf5a..ce0c9cc 100644
--- a/src/programchain.cpp
+++ b/src/programchain.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/programchain.h b/src/programchain.h
index 6d1666c..47797a2 100644
--- a/src/programchain.h
+++ b/src/programchain.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/programlink.cpp b/src/programlink.cpp
index c1a4df0..f9453c2 100644
--- a/src/programlink.cpp
+++ b/src/programlink.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/programlink.h b/src/programlink.h
index dc5e7e7..36a605e 100644
--- a/src/programlink.h
+++ b/src/programlink.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/protocol.cpp b/src/protocol.cpp
index 7e992b4..2489d05 100644
--- a/src/protocol.cpp
+++ b/src/protocol.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/protocol.h b/src/protocol.h
index 28a70d0..0058723 100644
--- a/src/protocol.h
+++ b/src/protocol.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/protocolhttp.cpp b/src/protocolhttp.cpp
index 2fe447a..eaee9d0 100644
--- a/src/protocolhttp.cpp
+++ b/src/protocolhttp.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/protocolhttp.h b/src/protocolhttp.h
index 6f4af9b..153a00d 100644
--- a/src/protocolhttp.h
+++ b/src/protocolhttp.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/protocoltelnet.cpp b/src/protocoltelnet.cpp
index e07f275..7e37cca 100644
--- a/src/protocoltelnet.cpp
+++ b/src/protocoltelnet.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/protocoltelnet.h b/src/protocoltelnet.h
index e7a9af1..74d6478 100644
--- a/src/protocoltelnet.h
+++ b/src/protocoltelnet.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/queue.cpp b/src/queue.cpp
index c6486eb..9d6edac 100644
--- a/src/queue.cpp
+++ b/src/queue.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/queue.h b/src/queue.h
index bfb07e4..e5d9b5f 100644
--- a/src/queue.h
+++ b/src/queue.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/queuebuf.cpp b/src/queuebuf.cpp
index e8eb2ed..69abf4b 100644
--- a/src/queuebuf.cpp
+++ b/src/queuebuf.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
@@ -37,7 +37,7 @@ void Bu::QueueBuf::close()
 	iReadOffset = iWriteOffset = iTotalSize = 0;
 }
 
-size_t Bu::QueueBuf::read( void *pRawBuf, size_t nBytes )
+Bu::size Bu::QueueBuf::read( void *pRawBuf, Bu::size nBytes )
 {
 	if( nBytes <= 0 )
 		return 0;
@@ -45,7 +45,7 @@ size_t Bu::QueueBuf::read( void *pRawBuf, size_t nBytes )
 	if( lBlocks.isEmpty() )
 		return 0;
 
-	size_t iLeft = nBytes;
+	Bu::size iLeft = nBytes;
 	char *pBuf = (char *)pRawBuf;
 
 	while( iLeft > 0 && iTotalSize > 0 )
@@ -60,7 +60,7 @@ size_t Bu::QueueBuf::read( void *pRawBuf, size_t nBytes )
 			iReadOffset = 0;
 		}
 		char *pBlock = lBlocks.first();
-		size_t iCopy = iBlockSize-iReadOffset;
+		Bu::size iCopy = iBlockSize-iReadOffset;
 		if( iLeft < iCopy )
 			iCopy = iLeft;
 		if( iTotalSize < iCopy )
@@ -76,12 +76,12 @@ size_t Bu::QueueBuf::read( void *pRawBuf, size_t nBytes )
 	return nBytes - iLeft;
 }
 
-size_t Bu::QueueBuf::peek( void *pBuf, size_t nBytes )
+Bu::size Bu::QueueBuf::peek( void *pBuf, Bu::size nBytes )
 {
 	return peek( pBuf, nBytes, 0 );
 }
 
-size_t Bu::QueueBuf::peek( void *pRawBuf, size_t nBytes, size_t nSkip )
+Bu::size Bu::QueueBuf::peek( void *pRawBuf, Bu::size nBytes, Bu::size nSkip )
 {
 	if( nBytes <= 0 )
 		return 0;
@@ -89,11 +89,11 @@ size_t Bu::QueueBuf::peek( void *pRawBuf, size_t nBytes, size_t nSkip )
 	if( lBlocks.isEmpty() )
 		return 0;
 
-	size_t iLeft = nBytes;
+	Bu::size iLeft = nBytes;
 	char *pBuf = (char *)pRawBuf;
 
 	int iTmpReadOffset = iReadOffset + nSkip;
-	size_t iTmpRemSize = iTotalSize;
+	Bu::size iTmpRemSize = iTotalSize;
 	BlockList::iterator iBlock = lBlocks.begin();
 	while( iTmpReadOffset > iBlockSize )
 	{
@@ -112,7 +112,7 @@ size_t Bu::QueueBuf::peek( void *pRawBuf, size_t nBytes, size_t nSkip )
 			iTmpReadOffset = 0;
 		}
 		char *pBlock = *iBlock;
-		size_t iCopy = iBlockSize-iTmpReadOffset;
+		Bu::size iCopy = iBlockSize-iTmpReadOffset;
 		if( iLeft < iCopy )
 			iCopy = iLeft;
 		if( iTmpRemSize < iCopy )
@@ -129,7 +129,7 @@ size_t Bu::QueueBuf::peek( void *pRawBuf, size_t nBytes, size_t nSkip )
 	return nBytes - iLeft;
 }
 
-size_t Bu::QueueBuf::write( const void *pRawBuf, size_t nBytes )
+Bu::size Bu::QueueBuf::write( const void *pRawBuf, Bu::size nBytes )
 {
 	if( nBytes <= 0 )
 		return 0;
@@ -139,7 +139,7 @@ size_t Bu::QueueBuf::write( const void *pRawBuf, size_t nBytes )
 		addBlock();
 		iWriteOffset = 0;
 	}
-	size_t iLeft = nBytes;
+	Bu::size iLeft = nBytes;
 	const char *pBuf = (const char *)pRawBuf;
 
 	while( iLeft > 0 )
@@ -150,7 +150,7 @@ size_t Bu::QueueBuf::write( const void *pRawBuf, size_t nBytes )
 			iWriteOffset = 0;
 		}
 		char *pBlock = lBlocks.last();
-		size_t iCopy = iBlockSize-iWriteOffset;
+		Bu::size iCopy = iBlockSize-iWriteOffset;
 		if( iLeft < iCopy )
 			iCopy = iLeft;
 		memcpy( pBlock+iWriteOffset, pBuf, iCopy );
@@ -165,17 +165,17 @@ size_t Bu::QueueBuf::write( const void *pRawBuf, size_t nBytes )
 	return nBytes;
 }
 
-long Bu::QueueBuf::tell()
+Bu::size Bu::QueueBuf::tell()
 {
 	return -1;
 }
 
-void Bu::QueueBuf::seek( long iAmnt )
+void Bu::QueueBuf::seek( Bu::size iAmnt )
 {
 	if( iAmnt <= 0 )
 		return;
 
-	if( (size_t)iAmnt >= iTotalSize )
+	if( (Bu::size)iAmnt >= iTotalSize )
 	{
 //		sio << "seek: clear all data (" << iAmnt << ">=" << iTotalSize
 //			<< ")." << sio.nl;
@@ -193,11 +193,11 @@ void Bu::QueueBuf::seek( long iAmnt )
 	}
 }
 
-void Bu::QueueBuf::setPos( long )
+void Bu::QueueBuf::setPos( Bu::size )
 {
 }
 
-void Bu::QueueBuf::setPosEnd( long )
+void Bu::QueueBuf::setPosEnd( Bu::size )
 {
 }
 
@@ -249,10 +249,25 @@ void Bu::QueueBuf::setBlocking( bool )
 {
 }
 
-void Bu::QueueBuf::setSize( long )
+void Bu::QueueBuf::setSize( Bu::size )
 {
 }
 
+Bu::size Bu::QueueBuf::getSize() const
+{
+	return iTotalSize;
+}
+
+Bu::size Bu::QueueBuf::getBlockSize() const
+{
+	return iBlockSize;
+}
+
+Bu::String Bu::QueueBuf::getLocation() const
+{
+	return "";
+}
+
 void Bu::QueueBuf::addBlock()
 {
 	lBlocks.append( new char[iBlockSize] );
diff --git a/src/queuebuf.h b/src/queuebuf.h
index 395c6ba..84b50e1 100644
--- a/src/queuebuf.h
+++ b/src/queuebuf.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
@@ -27,14 +27,14 @@ namespace Bu
 		int getSize();
 
 		virtual void close();
-		virtual size_t read( void *pBuf, size_t nBytes );
-		virtual size_t peek( void *pBuf, size_t nBytes );
-		virtual size_t peek( void *pBuf, size_t nBytes, size_t nSkip );
-		virtual size_t write( const void *pBuf, size_t nBytes );
-		virtual long tell();
-		virtual void seek( long offset );
-		virtual void setPos( long pos );
-		virtual void setPosEnd( long pos );
+		virtual Bu::size read( void *pBuf, Bu::size nBytes );
+		virtual Bu::size peek( void *pBuf, Bu::size nBytes );
+		virtual Bu::size peek( void *pBuf, Bu::size nBytes, Bu::size nSkip );
+		virtual Bu::size write( const void *pBuf, Bu::size nBytes );
+		virtual Bu::size tell();
+		virtual void seek( Bu::size offset );
+		virtual void setPos( Bu::size pos );
+		virtual void setPosEnd( Bu::size pos );
 		virtual bool isEos();
 		virtual bool isOpen();
 		virtual void flush();
@@ -45,7 +45,11 @@ namespace Bu
 		virtual bool isSeekable();
 		virtual bool isBlocking();
 		virtual void setBlocking( bool bBlocking=true );
-		virtual void setSize( long iSize );
+		virtual void setSize( Bu::size iSize );
+
+		virtual size getSize() const;
+		virtual size getBlockSize() const;
+		virtual Bu::String getLocation() const;
 
 	private:
 		void addBlock();
@@ -55,7 +59,7 @@ namespace Bu
 		int iBlockSize;
 		int iReadOffset;
 		int iWriteOffset;
-		size_t iTotalSize;
+		Bu::size iTotalSize;
 		typedef Bu::List BlockList;
 		BlockList lBlocks;
 	};
diff --git a/src/regex.cpp b/src/regex.cpp
index 8c28333..af0d364 100644
--- a/src/regex.cpp
+++ b/src/regex.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/regex.h b/src/regex.h
index 06b6352..f0aa5d5 100644
--- a/src/regex.h
+++ b/src/regex.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/ringbuffer.cpp b/src/ringbuffer.cpp
index 1dc603c..99b1b1c 100644
--- a/src/ringbuffer.cpp
+++ b/src/ringbuffer.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/ringbuffer.h b/src/ringbuffer.h
index f4fd58c..f43773d 100644
--- a/src/ringbuffer.h
+++ b/src/ringbuffer.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/server.cpp b/src/server.cpp
index 3348d3c..1972a3f 100644
--- a/src/server.cpp
+++ b/src/server.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/server.h b/src/server.h
index f22d01b..c59543a 100644
--- a/src/server.h
+++ b/src/server.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/set.cpp b/src/set.cpp
index f9937ef..e4e2849 100644
--- a/src/set.cpp
+++ b/src/set.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/set.h b/src/set.h
index 047ff7f..ac8dbd5 100644
--- a/src/set.h
+++ b/src/set.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/sha1.cpp b/src/sha1.cpp
index f3e4eb1..bfe4c5a 100644
--- a/src/sha1.cpp
+++ b/src/sha1.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/sha1.h b/src/sha1.h
index dbd1aa1..579d990 100644
--- a/src/sha1.h
+++ b/src/sha1.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/sharedcore.cpp b/src/sharedcore.cpp
index 2c18872..75f92eb 100644
--- a/src/sharedcore.cpp
+++ b/src/sharedcore.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/sharedcore.h b/src/sharedcore.h
index 1887ca2..bf9395c 100644
--- a/src/sharedcore.h
+++ b/src/sharedcore.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/signals.cpp b/src/signals.cpp
index 7ba02c5..ffbc7ba 100644
--- a/src/signals.cpp
+++ b/src/signals.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/signals.h b/src/signals.h
index 5bdc53d..39f15ec 100644
--- a/src/signals.h
+++ b/src/signals.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/singleton.h b/src/singleton.h
index 5bc7abe..13db01b 100644
--- a/src/singleton.h
+++ b/src/singleton.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/sio.cpp b/src/sio.cpp
index 4567297..0fe60d9 100644
--- a/src/sio.cpp
+++ b/src/sio.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/sio.h b/src/sio.h
index 05e6982..ad3000a 100644
--- a/src/sio.h
+++ b/src/sio.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/sptr.cpp b/src/sptr.cpp
index 5761825..ea21e3b 100644
--- a/src/sptr.cpp
+++ b/src/sptr.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/sptr.h b/src/sptr.h
index b497598..4e581a9 100644
--- a/src/sptr.h
+++ b/src/sptr.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/stack.cpp b/src/stack.cpp
index 5d2a2c6..73352d3 100644
--- a/src/stack.cpp
+++ b/src/stack.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/stack.h b/src/stack.h
index 11ad057..a6ea1b9 100644
--- a/src/stack.h
+++ b/src/stack.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/stdstream.cpp b/src/stdstream.cpp
index 64ca1cd..b1d5d61 100644
--- a/src/stdstream.cpp
+++ b/src/stdstream.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
@@ -100,3 +100,18 @@ void Bu::StdStream::setSize( Bu::size )
 {
 }
 
+Bu::size Bu::StdStream::getSize() const
+{
+	return 0;
+}
+
+Bu::size Bu::StdStream::getBlockSize() const
+{
+	return 0;
+}
+
+Bu::String Bu::StdStream::getLocation() const
+{
+	return "";
+}
+
diff --git a/src/stdstream.h b/src/stdstream.h
index c500dfc..ff6c774 100644
--- a/src/stdstream.h
+++ b/src/stdstream.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
@@ -41,6 +41,9 @@ namespace Bu
 		virtual bool isBlocking();
 		virtual void setBlocking( bool bBlocking=true );
 		virtual void setSize( size iSize );
+		virtual size getSize() const;
+		virtual size getBlockSize() const;
+		virtual Bu::String getLocation() const;		
 	};
 }
 
diff --git a/src/stream.cpp b/src/stream.cpp
index 33817de..028166e 100644
--- a/src/stream.cpp
+++ b/src/stream.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/stream.h b/src/stream.h
index abbc9e8..fb70f21 100644
--- a/src/stream.h
+++ b/src/stream.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/streamstack.cpp b/src/streamstack.cpp
index f400364..d45306d 100644
--- a/src/streamstack.cpp
+++ b/src/streamstack.cpp
@@ -1,3 +1,10 @@
+/*
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
+ *
+ * This file is part of the libbu++ library and is released under the
+ * terms of the license contained in the file LICENSE.
+ */
+
 #include "bu/streamstack.h"
 
 Bu::StreamStack::StreamStack()
@@ -72,49 +79,49 @@ void Bu::StreamStack::close()
 	lFilts.first()->close();
 }
 
-size_t Bu::StreamStack::read( void *pBuf, size_t nBytes )
+Bu::size Bu::StreamStack::read( void *pBuf, Bu::size nBytes )
 {
 	checkStack();
 
 	return lFilts.first()->read( pBuf, nBytes );
 }
 
-size_t Bu::StreamStack::write( const void *pBuf, size_t nBytes )
+Bu::size Bu::StreamStack::write( const void *pBuf, Bu::size nBytes )
 {
 	checkStack();
 
 	return lFilts.first()->write( pBuf, nBytes );
 }
 
-size_t Bu::StreamStack::write( const Bu::String &sBuf )
+Bu::size Bu::StreamStack::write( const Bu::String &sBuf )
 {
 	checkStack();
 
 	return lFilts.first()->write( sBuf );
 }
 
-long Bu::StreamStack::tell()
+Bu::size Bu::StreamStack::tell()
 {
 	checkStack();
 
 	return lFilts.first()->tell();
 }
 
-void Bu::StreamStack::seek( long offset )
+void Bu::StreamStack::seek( Bu::size offset )
 {
 	checkStack();
 
 	lFilts.first()->seek( offset );
 }
 
-void Bu::StreamStack::setPos( long pos )
+void Bu::StreamStack::setPos( Bu::size pos )
 {
 	checkStack();
 
 	lFilts.first()->setPos( pos );
 }
 
-void Bu::StreamStack::setPosEnd( long pos )
+void Bu::StreamStack::setPosEnd( Bu::size pos )
 {
 	checkStack();
 
@@ -191,14 +198,35 @@ void Bu::StreamStack::setBlocking( bool bBlocking )
 	lFilts.first()->setBlocking( bBlocking );
 }
 
-void Bu::StreamStack::setSize( long iSize )
+void Bu::StreamStack::setSize( Bu::size iSize )
 {
 	checkStack();
 
 	lFilts.first()->setSize( iSize );
 }
 
-inline void Bu::StreamStack::checkStack()
+Bu::size Bu::StreamStack::getSize() const
+{
+	checkStack();
+	
+	return lFilts.first()->getSize();
+}
+
+Bu::size Bu::StreamStack::getBlockSize() const
+{
+	checkStack();
+
+	return lFilts.first()->getBlockSize();
+}
+
+Bu::String Bu::StreamStack::getLocation() const
+{
+	checkStack();
+
+	return lFilts.first()->getLocation();
+}
+
+inline void Bu::StreamStack::checkStack() const
 {
 	if( lFilts.isEmpty() )
 		throw Bu::ExceptionBase("StreamStack is empty.");
diff --git a/src/streamstack.h b/src/streamstack.h
index 2554bd2..846935b 100644
--- a/src/streamstack.h
+++ b/src/streamstack.h
@@ -1,3 +1,10 @@
+/*
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
+ *
+ * This file is part of the libbu++ library and is released under the
+ * terms of the license contained in the file LICENSE.
+ */
+
 #ifndef BU_STREAM_STACK_H
 #define BU_STREAM_STACK_H
 
@@ -103,14 +110,14 @@ namespace Bu
 		//
 
 		virtual void close();
-		virtual size_t read( void *pBuf, size_t nBytes );
-		virtual size_t write( const void *pBuf, size_t nBytes );
-
-		virtual size_t write( const Bu::String &sBuf );
-		virtual long tell();
-		virtual void seek( long offset );
-		virtual void setPos( long pos );
-		virtual void setPosEnd( long pos );
+		virtual Bu::size read( void *pBuf, Bu::size nBytes );
+		virtual Bu::size write( const void *pBuf, Bu::size nBytes );
+
+		virtual Bu::size write( const Bu::String &sBuf );
+		virtual Bu::size tell();
+		virtual void seek( Bu::size offset );
+		virtual void setPos( Bu::size pos );
+		virtual void setPosEnd( Bu::size pos );
 		virtual bool isEos();
 		virtual bool isOpen();
 		virtual void flush();
@@ -121,10 +128,13 @@ namespace Bu
 		virtual bool isSeekable();
 		virtual bool isBlocking();
 		virtual void setBlocking( bool bBlocking=true );
-		virtual void setSize( long iSize );
+		virtual void setSize( Bu::size iSize );
+		virtual size getSize() const;
+		virtual size getBlockSize() const;
+		virtual Bu::String getLocation() const;
 
 	private:
-		void checkStack();
+		void checkStack() const;
 
 	private:
 		FilterList lFilts;
diff --git a/src/string.cpp b/src/string.cpp
index 3f895dc..538ac52 100644
--- a/src/string.cpp
+++ b/src/string.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/string.h b/src/string.h
index 5a0c471..22db827 100644
--- a/src/string.h
+++ b/src/string.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/substream.cpp b/src/substream.cpp
index 25d301a..c201752 100644
--- a/src/substream.cpp
+++ b/src/substream.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
@@ -7,7 +7,7 @@
 
 #include "bu/substream.h"
 
-Bu::SubStream::SubStream( Bu::Stream &rNext, long iSize ) :
+Bu::SubStream::SubStream( Bu::Stream &rNext, Bu::size iSize ) :
 	Bu::Filter( rNext ),
 	iStart( 0 ),
 	iPos( 0 ),
@@ -20,18 +20,18 @@ Bu::SubStream::~SubStream()
 {
 }
 
-size_t Bu::SubStream::read( void *pBuf, size_t nBytes )
+Bu::size Bu::SubStream::read( void *pBuf, Bu::size nBytes )
 {
-	if( (long)nBytes > iSize-iPos )
+	if( (Bu::size)nBytes > iSize-iPos )
 		nBytes = iSize-iPos;
 	nBytes = rNext.read( pBuf, nBytes );
 	iPos += nBytes;
 	return nBytes;
 }
 
-size_t Bu::SubStream::write( const void *pBuf, size_t nBytes )
+Bu::size Bu::SubStream::write( const void *pBuf, Bu::size nBytes )
 {
-	if( (long)nBytes > iSize-iPos )
+	if( (Bu::size)nBytes > iSize-iPos )
 		nBytes = iSize-iPos;
 	nBytes = rNext.write( pBuf, nBytes );
 	iPos += nBytes;
@@ -43,7 +43,7 @@ void Bu::SubStream::start()
 	// doesn't mean anything...
 }
 
-size_t Bu::SubStream::stop()
+Bu::size Bu::SubStream::stop()
 {
 	// doesn't mean anything...
 	return 0;
@@ -54,12 +54,12 @@ void Bu::SubStream::close()
 	// don't do anything?  maybe...
 }
 
-long Bu::SubStream::tell()
+Bu::size Bu::SubStream::tell()
 {
 	return iPos;
 }
 
-void Bu::SubStream::seek( long offset )
+void Bu::SubStream::seek( Bu::size offset )
 {
 	if( iPos+offset < 0 )
 		offset = -iPos;
@@ -69,7 +69,7 @@ void Bu::SubStream::seek( long offset )
 	iPos += offset;
 }
 
-void Bu::SubStream::setPos( long pos )
+void Bu::SubStream::setPos( Bu::size pos )
 {
 	if( pos < 0 )
 		pos = 0;
@@ -80,7 +80,7 @@ void Bu::SubStream::setPos( long pos )
 	rNext.setPos( pos );
 }
 
-void Bu::SubStream::setPosEnd( long pos )
+void Bu::SubStream::setPosEnd( Bu::size pos )
 {
 	if( iSize-pos < 0 )
 		pos = 0;
diff --git a/src/substream.h b/src/substream.h
index b460f13..1db4d6c 100644
--- a/src/substream.h
+++ b/src/substream.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
@@ -34,29 +34,29 @@ namespace Bu
 	class SubStream : public Bu::Filter
 	{
 	public:
-		SubStream( Bu::Stream &rNext, long iSize );
+		SubStream( Bu::Stream &rNext, Bu::size iSize );
 		virtual ~SubStream();
 
-		virtual size_t read( void *pBuf, size_t nBytes );
-		virtual size_t write( const void *pBuf, size_t nBytes );
+		virtual Bu::size read( void *pBuf, Bu::size nBytes );
+		virtual Bu::size write( const void *pBuf, Bu::size nBytes );
 		using Bu::Stream::write;
 
 		virtual void start();
-		virtual size_t stop();
+		virtual Bu::size stop();
 		virtual void close();
-		virtual long tell();
-		virtual void seek( long offset );
-		virtual void setPos( long pos );
-		virtual void setPosEnd( long pos );
+		virtual Bu::size tell();
+		virtual void seek( Bu::size offset );
+		virtual void setPos( Bu::size pos );
+		virtual void setPosEnd( Bu::size pos );
 		virtual bool isEos();
 
 		virtual bool canRead();
 		virtual bool canWrite();
 
 	protected:
-		long iStart;
-		long iPos;
-		long iSize;
+		Bu::size iStart;
+		Bu::size iPos;
+		Bu::size iSize;
 	};
 };
 
diff --git a/src/taf.h b/src/taf.h
index f48aeeb..951f80f 100644
--- a/src/taf.h
+++ b/src/taf.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tafcomment.cpp b/src/tafcomment.cpp
index 2f0dc17..c7096ca 100644
--- a/src/tafcomment.cpp
+++ b/src/tafcomment.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tafcomment.h b/src/tafcomment.h
index 942beb3..4efd548 100644
--- a/src/tafcomment.h
+++ b/src/tafcomment.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tafgroup.cpp b/src/tafgroup.cpp
index 42f4610..ee180c3 100644
--- a/src/tafgroup.cpp
+++ b/src/tafgroup.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tafgroup.h b/src/tafgroup.h
index 096a32f..119e827 100644
--- a/src/tafgroup.h
+++ b/src/tafgroup.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tafnode.cpp b/src/tafnode.cpp
index da85d20..0757a46 100644
--- a/src/tafnode.cpp
+++ b/src/tafnode.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tafnode.h b/src/tafnode.h
index 6c7123d..d7a9159 100644
--- a/src/tafnode.h
+++ b/src/tafnode.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tafproperty.cpp b/src/tafproperty.cpp
index 96f8501..4ef5c24 100644
--- a/src/tafproperty.cpp
+++ b/src/tafproperty.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tafproperty.h b/src/tafproperty.h
index 10a1c1a..7091de5 100644
--- a/src/tafproperty.h
+++ b/src/tafproperty.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tafreader.cpp b/src/tafreader.cpp
index f409170..6708c8c 100644
--- a/src/tafreader.cpp
+++ b/src/tafreader.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tafreader.h b/src/tafreader.h
index c91d1b1..10ebfc0 100644
--- a/src/tafreader.h
+++ b/src/tafreader.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tafwriter.cpp b/src/tafwriter.cpp
index 78d4060..b24bd1e 100644
--- a/src/tafwriter.cpp
+++ b/src/tafwriter.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tafwriter.h b/src/tafwriter.h
index 2bdd291..3fd71de 100644
--- a/src/tafwriter.h
+++ b/src/tafwriter.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tcpserversocket.cpp b/src/tcpserversocket.cpp
index 0de6593..a2fe6b4 100644
--- a/src/tcpserversocket.cpp
+++ b/src/tcpserversocket.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tcpserversocket.h b/src/tcpserversocket.h
index b6c6f87..efb7287 100644
--- a/src/tcpserversocket.h
+++ b/src/tcpserversocket.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tcpsocket.cpp b/src/tcpsocket.cpp
index 522a6b7..52dfc5c 100644
--- a/src/tcpsocket.cpp
+++ b/src/tcpsocket.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
@@ -436,8 +436,6 @@ void Bu::TcpSocket::setAddress()
 	addr.sin_family = AF_INET;
 	bu_getpeername( nTcpSocket, (sockaddr *)(&addr), &len );
 	sAddress = bu_inet_ntoa( addr.sin_addr );
-
-	printf("%d\n", IP_MTU );
 }
 
 Bu::String Bu::TcpSocket::getAddress() const
@@ -457,10 +455,11 @@ Bu::size Bu::TcpSocket::getSize() const
 
 Bu::size Bu::TcpSocket::getBlockSize() const
 {
-
+	return 1500; //TODO: Fix this, it's stupid.
 }
 
 Bu::String Bu::TcpSocket::getLocation() const
 {
+	return getAddress();
 }
 
diff --git a/src/tcpsocket.h b/src/tcpsocket.h
index 0941c65..a05580a 100644
--- a/src/tcpsocket.h
+++ b/src/tcpsocket.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/archive.cpp b/src/tests/archive.cpp
index de227b0..c905007 100644
--- a/src/tests/archive.cpp
+++ b/src/tests/archive.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/archive2.cpp b/src/tests/archive2.cpp
index 75db442..e8d3360 100644
--- a/src/tests/archive2.cpp
+++ b/src/tests/archive2.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/atom.cpp b/src/tests/atom.cpp
index 7784a9e..7808282 100644
--- a/src/tests/atom.cpp
+++ b/src/tests/atom.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/base64.cpp b/src/tests/base64.cpp
index 483199c..413ff92 100644
--- a/src/tests/base64.cpp
+++ b/src/tests/base64.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/buffer.cpp b/src/tests/buffer.cpp
index a12223a..f3f6f41 100644
--- a/src/tests/buffer.cpp
+++ b/src/tests/buffer.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/bzip2.cpp b/src/tests/bzip2.cpp
index f869939..603e937 100644
--- a/src/tests/bzip2.cpp
+++ b/src/tests/bzip2.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/cache.cpp b/src/tests/cache.cpp
index 38a5591..243012d 100644
--- a/src/tests/cache.cpp
+++ b/src/tests/cache.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/console.cpp b/src/tests/console.cpp
index 8d2f469..670ff5b 100644
--- a/src/tests/console.cpp
+++ b/src/tests/console.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/cryptpass.cpp b/src/tests/cryptpass.cpp
index f9abef6..d272344 100644
--- a/src/tests/cryptpass.cpp
+++ b/src/tests/cryptpass.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/csv.cpp b/src/tests/csv.cpp
index e5efcfb..850fda8 100644
--- a/src/tests/csv.cpp
+++ b/src/tests/csv.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/daysinmonth.cpp b/src/tests/daysinmonth.cpp
index e0aafc6..1e78eb3 100644
--- a/src/tests/daysinmonth.cpp
+++ b/src/tests/daysinmonth.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/fastcgi.cpp b/src/tests/fastcgi.cpp
index 5f7758e..7ca4ebc 100644
--- a/src/tests/fastcgi.cpp
+++ b/src/tests/fastcgi.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/formula.cpp b/src/tests/formula.cpp
index b9c4446..a90ddaf 100644
--- a/src/tests/formula.cpp
+++ b/src/tests/formula.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/fstratsptr.cpp b/src/tests/fstratsptr.cpp
index fa38459..5053dd1 100644
--- a/src/tests/fstratsptr.cpp
+++ b/src/tests/fstratsptr.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/fstrformat.cpp b/src/tests/fstrformat.cpp
index 2f04fe9..a911a8f 100644
--- a/src/tests/fstrformat.cpp
+++ b/src/tests/fstrformat.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/fstring.cpp b/src/tests/fstring.cpp
index acc3558..12ce8a8 100644
--- a/src/tests/fstring.cpp
+++ b/src/tests/fstring.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/fstrstd.cpp b/src/tests/fstrstd.cpp
index 4209c65..b2fed8a 100644
--- a/src/tests/fstrstd.cpp
+++ b/src/tests/fstrstd.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/hash.cpp b/src/tests/hash.cpp
index 5bd70f6..7cefb79 100644
--- a/src/tests/hash.cpp
+++ b/src/tests/hash.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/hash2.cpp b/src/tests/hash2.cpp
index 5f1dd09..55bb4c9 100644
--- a/src/tests/hash2.cpp
+++ b/src/tests/hash2.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/heap.cpp b/src/tests/heap.cpp
index 3576f25..14da55a 100644
--- a/src/tests/heap.cpp
+++ b/src/tests/heap.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/itoheap.cpp b/src/tests/itoheap.cpp
index 347f1e0..ec06b90 100644
--- a/src/tests/itoheap.cpp
+++ b/src/tests/itoheap.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/itoqueue1.cpp b/src/tests/itoqueue1.cpp
index 11dbb49..27cb93c 100644
--- a/src/tests/itoqueue1.cpp
+++ b/src/tests/itoqueue1.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/itoqueue2.cpp b/src/tests/itoqueue2.cpp
index 5283854..10bc566 100644
--- a/src/tests/itoqueue2.cpp
+++ b/src/tests/itoqueue2.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/itoserver.cpp b/src/tests/itoserver.cpp
index 5f6e4fa..48ef527 100644
--- a/src/tests/itoserver.cpp
+++ b/src/tests/itoserver.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/list.cpp b/src/tests/list.cpp
index c70fbc8..aa3d32d 100644
--- a/src/tests/list.cpp
+++ b/src/tests/list.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/list2.cpp b/src/tests/list2.cpp
index dc936d3..567370e 100644
--- a/src/tests/list2.cpp
+++ b/src/tests/list2.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/listsort.cpp b/src/tests/listsort.cpp
index 00e7268..4873a05 100644
--- a/src/tests/listsort.cpp
+++ b/src/tests/listsort.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/logger.cpp b/src/tests/logger.cpp
index e9043db..e97193c 100644
--- a/src/tests/logger.cpp
+++ b/src/tests/logger.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/md5.cpp b/src/tests/md5.cpp
index 368b033..a32f669 100644
--- a/src/tests/md5.cpp
+++ b/src/tests/md5.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/minicron.cpp b/src/tests/minicron.cpp
index 0749f90..aed63e2 100644
--- a/src/tests/minicron.cpp
+++ b/src/tests/minicron.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/mmparse.cpp b/src/tests/mmparse.cpp
index 1123d21..c1ce862 100644
--- a/src/tests/mmparse.cpp
+++ b/src/tests/mmparse.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/multiserver.cpp b/src/tests/multiserver.cpp
index 85971b5..12f4681 100644
--- a/src/tests/multiserver.cpp
+++ b/src/tests/multiserver.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/optparser.cpp b/src/tests/optparser.cpp
index ae658df..aadb07c 100644
--- a/src/tests/optparser.cpp
+++ b/src/tests/optparser.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/procs.cpp b/src/tests/procs.cpp
index bb5ff96..94d2cc5 100644
--- a/src/tests/procs.cpp
+++ b/src/tests/procs.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/queuebuf.cpp b/src/tests/queuebuf.cpp
index 0cb8b48..f872738 100644
--- a/src/tests/queuebuf.cpp
+++ b/src/tests/queuebuf.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/regex.cpp b/src/tests/regex.cpp
index 0a33a93..376fbb2 100644
--- a/src/tests/regex.cpp
+++ b/src/tests/regex.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/ringbuffer.cpp b/src/tests/ringbuffer.cpp
index 003d7be..da5126c 100644
--- a/src/tests/ringbuffer.cpp
+++ b/src/tests/ringbuffer.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/rot13.cpp b/src/tests/rot13.cpp
index 03ba385..1530af3 100644
--- a/src/tests/rot13.cpp
+++ b/src/tests/rot13.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
@@ -28,21 +28,21 @@ public:
 	{
 	}
 
-	virtual size_t stop()
+	virtual Bu::size stop()
 	{
 		return 0;
 	}
 
-	virtual size_t read( void *pBuf, size_t nBytes )
+	virtual Bu::size read( void *pBuf, Bu::size nBytes )
 	{
 		return rNext.read( pBuf, nBytes );
 	}
 	
-	virtual size_t write( const void *pBuf, size_t nBytes )
+	virtual Bu::size write( const void *pBuf, Bu::size nBytes )
 	{
 		const char *cBuf = (const char *)pBuf;
 		char *buf = new char[nBytes];
-		for( size_t j = 0; j < nBytes; j++ )
+		for( Bu::size j = 0; j < nBytes; j++ )
 		{
 			if( cBuf[j] >= 'a' && cBuf[j] <= 'z' )
 				buf[j] = (cBuf[j]-'a'+13)%26+'a';
diff --git a/src/tests/serverticks.cpp b/src/tests/serverticks.cpp
index bffa363..3872a16 100644
--- a/src/tests/serverticks.cpp
+++ b/src/tests/serverticks.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/sha1.cpp b/src/tests/sha1.cpp
index 84cebe5..ac795e7 100644
--- a/src/tests/sha1.cpp
+++ b/src/tests/sha1.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/sharedcore.cpp b/src/tests/sharedcore.cpp
index 9b0a0ec..c68f07b 100644
--- a/src/tests/sharedcore.cpp
+++ b/src/tests/sharedcore.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/signals.cpp b/src/tests/signals.cpp
index a8c8c4e..14bbc9c 100644
--- a/src/tests/signals.cpp
+++ b/src/tests/signals.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/size.cpp b/src/tests/size.cpp
index 841325d..dfad16f 100644
--- a/src/tests/size.cpp
+++ b/src/tests/size.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/socketblock.cpp b/src/tests/socketblock.cpp
index 793ef96..e36bb33 100644
--- a/src/tests/socketblock.cpp
+++ b/src/tests/socketblock.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/socketbreak.cpp b/src/tests/socketbreak.cpp
index 7d3c71a..d58ebcf 100644
--- a/src/tests/socketbreak.cpp
+++ b/src/tests/socketbreak.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
@@ -26,9 +26,9 @@ int main()
 
 	char buf[3];
 	printf("About to write.\n");
-	printf("write:  %d\n", sSend.write("hi", 2 ) );
+	printf("write:  %lld\n", sSend.write("hi", 2 ) );
 	printf("About to read.\n");
-	printf("read:   %d\n", sSend.read( buf, 2 ) );
+	printf("read:   %lld\n", sSend.read( buf, 2 ) );
 
 	return 0;
 }
diff --git a/src/tests/speed.cpp b/src/tests/speed.cpp
index c78dded..2fa29aa 100644
--- a/src/tests/speed.cpp
+++ b/src/tests/speed.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/stdstream.cpp b/src/tests/stdstream.cpp
index e1f04f5..95df42e 100644
--- a/src/tests/stdstream.cpp
+++ b/src/tests/stdstream.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/streamstack.cpp b/src/tests/streamstack.cpp
index ea9ec0b..4a0e128 100644
--- a/src/tests/streamstack.cpp
+++ b/src/tests/streamstack.cpp
@@ -1,3 +1,10 @@
+/*
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
+ *
+ * This file is part of the libbu++ library and is released under the
+ * terms of the license contained in the file LICENSE.
+ */
+
 #include "bu/streamstack.h"
 
 #include "bu/file.h"
diff --git a/src/tests/taf.cpp b/src/tests/taf.cpp
index 484e784..1703fbc 100644
--- a/src/tests/taf.cpp
+++ b/src/tests/taf.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/tcpsocket.cpp b/src/tests/tcpsocket.cpp
index 30dd22f..89c015c 100644
--- a/src/tests/tcpsocket.cpp
+++ b/src/tests/tcpsocket.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/telnetsrv.cpp b/src/tests/telnetsrv.cpp
index f62714a..aac6b39 100644
--- a/src/tests/telnetsrv.cpp
+++ b/src/tests/telnetsrv.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/tracer.cpp b/src/tests/tracer.cpp
index c736d9e..703fa1a 100644
--- a/src/tests/tracer.cpp
+++ b/src/tests/tracer.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/url.cpp b/src/tests/url.cpp
index 6331664..a381cbe 100644
--- a/src/tests/url.cpp
+++ b/src/tests/url.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/uuid.cpp b/src/tests/uuid.cpp
index 1393e8c..b6470fa 100644
--- a/src/tests/uuid.cpp
+++ b/src/tests/uuid.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tests/variant.cpp b/src/tests/variant.cpp
index 79893c0..68dec4f 100644
--- a/src/tests/variant.cpp
+++ b/src/tests/variant.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tools/bnfcompile.cpp b/src/tools/bnfcompile.cpp
index b7b363c..011ec84 100644
--- a/src/tools/bnfcompile.cpp
+++ b/src/tools/bnfcompile.cpp
@@ -1,3 +1,10 @@
+/*
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
+ *
+ * This file is part of the libbu++ library and is released under the
+ * terms of the license contained in the file LICENSE.
+ */
+
 #include 
 #include 
 #include 
diff --git a/src/tools/mkunit.cpp b/src/tools/mkunit.cpp
index c0b7b8b..741a888 100644
--- a/src/tools/mkunit.cpp
+++ b/src/tools/mkunit.cpp
@@ -1,3 +1,10 @@
+/*
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
+ *
+ * This file is part of the libbu++ library and is released under the
+ * terms of the license contained in the file LICENSE.
+ */
+
 #include 
 #include 
 #include 
diff --git a/src/tools/myriad.cpp b/src/tools/myriad.cpp
index 7d7956e..7d4df75 100644
--- a/src/tools/myriad.cpp
+++ b/src/tools/myriad.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/tools/myriadfs.cpp b/src/tools/myriadfs.cpp
index 66955a5..88db0c0 100644
--- a/src/tools/myriadfs.cpp
+++ b/src/tools/myriadfs.cpp
@@ -1,3 +1,10 @@
+/*
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
+ *
+ * This file is part of the libbu++ library and is released under the
+ * terms of the license contained in the file LICENSE.
+ */
+
 #define FUSE_USE_VERSION 26
 
 #include 
diff --git a/src/tools/parser.cpp b/src/tools/parser.cpp
index 8350343..aa9e3e4 100644
--- a/src/tools/parser.cpp
+++ b/src/tools/parser.cpp
@@ -1,3 +1,10 @@
+/*
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
+ *
+ * This file is part of the libbu++ library and is released under the
+ * terms of the license contained in the file LICENSE.
+ */
+
 #include 
 #include 
 #include 
diff --git a/src/tools/viewcsv.cpp b/src/tools/viewcsv.cpp
index 9be1291..6997b9b 100644
--- a/src/tools/viewcsv.cpp
+++ b/src/tools/viewcsv.cpp
@@ -1,3 +1,10 @@
+/*
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
+ *
+ * This file is part of the libbu++ library and is released under the
+ * terms of the license contained in the file LICENSE.
+ */
+
 #include 
 #include 
 #include 
diff --git a/src/trace.cpp b/src/trace.cpp
index bd06683..906ce54 100644
--- a/src/trace.cpp
+++ b/src/trace.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/trace.h b/src/trace.h
index 9d5ac80..0ebd831 100644
--- a/src/trace.h
+++ b/src/trace.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/unit/archive.unit b/src/unit/archive.unit
index 07e5e11..89fde0c 100644
--- a/src/unit/archive.unit
+++ b/src/unit/archive.unit
@@ -1,6 +1,6 @@
 // vim: syntax=cpp
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/unit/array.unit b/src/unit/array.unit
index 4dc75d8..f6e6718 100644
--- a/src/unit/array.unit
+++ b/src/unit/array.unit
@@ -1,6 +1,6 @@
 // vim: syntax=cpp
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/unit/buffer.unit b/src/unit/buffer.unit
index 2a8f846..8106e4e 100644
--- a/src/unit/buffer.unit
+++ b/src/unit/buffer.unit
@@ -1,6 +1,6 @@
 // vim: syntax=cpp
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/unit/entities/unit b/src/unit/entities/unit
index 6876c54..4c5a835 100644
--- a/src/unit/entities/unit
+++ b/src/unit/entities/unit
@@ -5,7 +5,7 @@
 		name="source"
 		filename="{=name:%tolower}.cpp"
 >/*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/unit/file.unit b/src/unit/file.unit
index f8cf7c1..fb04e57 100644
--- a/src/unit/file.unit
+++ b/src/unit/file.unit
@@ -1,6 +1,6 @@
 // vim: syntax=cpp
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/unit/fstring.unit b/src/unit/fstring.unit
index d282052..f51e4de 100644
--- a/src/unit/fstring.unit
+++ b/src/unit/fstring.unit
@@ -1,6 +1,6 @@
 // vim: syntax=cpp
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/unit/hash.unit b/src/unit/hash.unit
index 2c1cf6a..64e70b6 100644
--- a/src/unit/hash.unit
+++ b/src/unit/hash.unit
@@ -1,6 +1,6 @@
 // vim: syntax=cpp
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/unit/list.unit b/src/unit/list.unit
index 24346a3..2b315dc 100644
--- a/src/unit/list.unit
+++ b/src/unit/list.unit
@@ -1,6 +1,6 @@
 // vim: syntax=cpp
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/unit/membuf.unit b/src/unit/membuf.unit
index 1da3b90..aefc2c1 100644
--- a/src/unit/membuf.unit
+++ b/src/unit/membuf.unit
@@ -1,6 +1,6 @@
 // vim: syntax=cpp
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/unit/myriad.unit b/src/unit/myriad.unit
index 5ac80a0..e0f7ef4 100644
--- a/src/unit/myriad.unit
+++ b/src/unit/myriad.unit
@@ -1,6 +1,6 @@
 // vim: syntax=cpp
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/unit/queuebuf.unit b/src/unit/queuebuf.unit
index 8de29e4..605490e 100644
--- a/src/unit/queuebuf.unit
+++ b/src/unit/queuebuf.unit
@@ -1,6 +1,6 @@
 // vim: syntax=cpp
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/unit/substream.unit b/src/unit/substream.unit
index 49817b0..456e69a 100644
--- a/src/unit/substream.unit
+++ b/src/unit/substream.unit
@@ -1,6 +1,6 @@
 // vim: syntax=cpp
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/unit/taf.unit b/src/unit/taf.unit
index 908e591..5fedcec 100644
--- a/src/unit/taf.unit
+++ b/src/unit/taf.unit
@@ -1,6 +1,6 @@
 // vim: syntax=cpp
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/unit/variant.unit b/src/unit/variant.unit
index ecfa5c3..ca977ee 100644
--- a/src/unit/variant.unit
+++ b/src/unit/variant.unit
@@ -1,6 +1,6 @@
 // vim: syntax=cpp
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/unit/xml.unit b/src/unit/xml.unit
index b4340e8..ab339c2 100644
--- a/src/unit/xml.unit
+++ b/src/unit/xml.unit
@@ -1,6 +1,6 @@
 // vim: syntax=cpp
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/unitsuite.cpp b/src/unitsuite.cpp
index 58646a0..db930a4 100644
--- a/src/unitsuite.cpp
+++ b/src/unitsuite.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/unitsuite.h b/src/unitsuite.h
index 6ac4f3e..2250a4d 100644
--- a/src/unitsuite.h
+++ b/src/unitsuite.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/url.cpp b/src/url.cpp
index 943b855..7b4a48e 100644
--- a/src/url.cpp
+++ b/src/url.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/url.h b/src/url.h
index 13a918e..d751578 100644
--- a/src/url.h
+++ b/src/url.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/urn.cpp b/src/urn.cpp
index b798a1f..106fb64 100644
--- a/src/urn.cpp
+++ b/src/urn.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/urn.h b/src/urn.h
index b798a1f..106fb64 100644
--- a/src/urn.h
+++ b/src/urn.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/utfstring.cpp b/src/utfstring.cpp
index 7ba04ec..bb23db3 100644
--- a/src/utfstring.cpp
+++ b/src/utfstring.cpp
@@ -1,2 +1,9 @@
+/*
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
+ *
+ * This file is part of the libbu++ library and is released under the
+ * terms of the license contained in the file LICENSE.
+ */
+
 #include "bu/utfstring.h"
 
diff --git a/src/utfstring.h b/src/utfstring.h
index cfbd5f0..30b4c3a 100644
--- a/src/utfstring.h
+++ b/src/utfstring.h
@@ -1,3 +1,10 @@
+/*
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
+ *
+ * This file is part of the libbu++ library and is released under the
+ * terms of the license contained in the file LICENSE.
+ */
+
 #ifndef BU_UTF_STRING_H
 #define BU_UTF_STRING_H
 
diff --git a/src/util.cpp b/src/util.cpp
index 0d2420a..6983dfd 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/util.h b/src/util.h
index 803c49f..691184d 100644
--- a/src/util.h
+++ b/src/util.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/uuid.cpp b/src/uuid.cpp
index f46d2ae..69af5b4 100644
--- a/src/uuid.cpp
+++ b/src/uuid.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/uuid.h b/src/uuid.h
index 6ce8e9c..327686f 100644
--- a/src/uuid.h
+++ b/src/uuid.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/variant.cpp b/src/variant.cpp
index a23a422..fd0511f 100644
--- a/src/variant.cpp
+++ b/src/variant.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/variant.h b/src/variant.h
index 80f1bb9..2b88efe 100644
--- a/src/variant.h
+++ b/src/variant.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/xmlreader.cpp b/src/xmlreader.cpp
index 7da2755..ba7fb3d 100644
--- a/src/xmlreader.cpp
+++ b/src/xmlreader.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
diff --git a/src/xmlreader.h b/src/xmlreader.h
index a217ac5..7cb44c9 100644
--- a/src/xmlreader.h
+++ b/src/xmlreader.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2010 Xagasoft, All rights reserved.
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
  *
  * This file is part of the libbu++ library and is released under the
  * terms of the license contained in the file LICENSE.
-- 
cgit v1.2.3


From 7e25a863325dc3e9762397e700030969e093b087 Mon Sep 17 00:00:00 2001
From: Mike Buland 
Date: Thu, 20 Jan 2011 07:48:57 +0000
Subject: Heh, forgot to rename the two fstring tests.

---
 src/tests/fstring.cpp | 154 ----------------------
 src/tests/string.cpp  | 154 ++++++++++++++++++++++
 src/unit/fstring.unit | 351 --------------------------------------------------
 src/unit/string.unit  | 351 ++++++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 505 insertions(+), 505 deletions(-)
 delete mode 100644 src/tests/fstring.cpp
 create mode 100644 src/tests/string.cpp
 delete mode 100644 src/unit/fstring.unit
 create mode 100644 src/unit/string.unit

(limited to 'src/tests')

diff --git a/src/tests/fstring.cpp b/src/tests/fstring.cpp
deleted file mode 100644
index 12ce8a8..0000000
--- a/src/tests/fstring.cpp
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
- *
- * This file is part of the libbu++ library and is released under the
- * terms of the license contained in the file LICENSE.
- */
-
-#include "bu/hash.h"
-#include "bu/string.h"
-#include 
-#include 
-
-#ifndef WIN32
-inline double getTime()
-{
-	struct timeval tv;
-	gettimeofday( &tv, NULL );
-	return ((double)tv.tv_sec) + ((double)tv.tv_usec/1000000.0);
-}
-#else
-#include "windows.h"
-#include "winbase.h"
-inline double getTime()
-{
-       uint32_t t = (uint32_t) GetTickCount();
-       return (double) t / 1000.0;
-}
-#endif
-
-Bu::String genThing()
-{
-	Bu::String bob;
-	bob.append("ab ");
-	bob += "cd ";
-	bob += "efg";
-
-    printf("---bob------\n%08tX: %s\n", (ptrdiff_t)bob.getStr(),
-			bob.getStr() );
-	return bob;
-}
-
-void thing( Bu::String str )
-{
-	printf("Hey:  %s\n", str.getStr() );
-}
-
-void copyfunc( std::string temp )
-{
-	temp += "Hi";
-}
-
-void copyfunc( Bu::String temp )
-{
-	temp += "Hi";
-}
-
-void doTimings()
-{
-	Bu::String fs1, fs2;
-	std::string ss1, ss2;
-	double dStart, dEnd, tfs1, tfs2, tfs3, tss1, tss2, tss3;
-	int nChars = 500000, nChunks=5000, nCopies=5000000, nChunkSize=1024*4;
-	char *buf = new char[nChunkSize];
-	memset( buf, '!', nChunkSize );
-
-	printf("Timing Bu::String single chars...\n");
-	dStart = getTime();
-	for( int j = 0; j < nChars; j++ ) fs1 += (char)('a'+(j%26));
-	fs1.getStr();
-	dEnd = getTime();
-	tfs1 = dEnd-dStart;
-
-	printf("Timing std::string single chars...\n");
-	dStart = getTime();
-	for( int j = 0; j < nChars; j++ ) ss1 += (char)('a'+(j%26));
-	ss1.c_str();
-	dEnd = getTime();
-	tss1 = dEnd-dStart;
-
-	printf("Timing Bu::String %d char chunks...\n", nChunkSize);
-	dStart = getTime();
-	for( int j = 0; j < nChunks; j++ ) fs2.append(buf, nChunkSize);
-	fs2.getStr();
-	dEnd = getTime();
-	tfs2 = dEnd-dStart;
-
-	printf("Timing std::string %d char chunks...\n", nChunkSize);
-	dStart = getTime();
-	for( int j = 0; j < nChunks; j++ ) ss2.append(buf, nChunkSize);
-	ss2.c_str();
-	dEnd = getTime();
-	tss2 = dEnd-dStart;
-
-	fs2 = "Hello there.";
-	ss2 = "Hello there.";
-	printf("Timing Bu::String copies...\n");
-	dStart = getTime();
-	for( int j = 0; j < nCopies; j++ ) Bu::String stmp = fs2;
-	dEnd = getTime();
-	tfs3 = dEnd-dStart;
-
-	printf("Timing std::string copies...\n");
-	dStart = getTime();
-	for( int j = 0; j < nCopies; j++ ) std::string stpm = ss2;
-	dEnd = getTime();
-	tss3 = dEnd-dStart;
-
-	printf(
-		"Results:       singles:        chunks:         copies:\n"
-		"Bu::String    %10.2f/s   %10.2f/s   %10.2f/s\n"
-		"std::string    %10.2f/s   %10.2f/s   %10.2f/s\n",
-		nChars/tfs1, nChunks/tfs2, nCopies/tfs3,
-		nChars/tss1, nChunks/tss2, nCopies/tss3 );
-
-	delete[] buf;
-}
-
-#define pem printf("---------\n%08tX: %s\n%08tX: %s\n", (ptrdiff_t)str.getStr(), str.getStr(), (ptrdiff_t)str2.getStr(), str2.getStr() );
-int main( )
-{
-	Bu::String fs1;
-	for( int j = 0; j < 500000; j++ ) fs1 += (char)('a'+(j%26));
-	return 0;
-
-	Bu::String str("th");
-
-	str.prepend("Hello ");
-	str.append("ere.");
-
-	Bu::String str2( str );
-	pem;
-	str += "  What's up?";
-	pem;
-	str2 += "  How are you?";
-	pem;
-	str = str2;
-	pem;
-
-	str2 = genThing();
-	pem;
-
-	str = str2;
-	pem;
-
-	thing( str2 );
-	thing("test.");
-	
-	printf("%d == %d\n", Bu::__calcHashCode( str ), Bu::__calcHashCode( str.getStr() ) );
-
-	doTimings();
-
-	return 0;
-}
-
diff --git a/src/tests/string.cpp b/src/tests/string.cpp
new file mode 100644
index 0000000..12ce8a8
--- /dev/null
+++ b/src/tests/string.cpp
@@ -0,0 +1,154 @@
+/*
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
+ *
+ * This file is part of the libbu++ library and is released under the
+ * terms of the license contained in the file LICENSE.
+ */
+
+#include "bu/hash.h"
+#include "bu/string.h"
+#include 
+#include 
+
+#ifndef WIN32
+inline double getTime()
+{
+	struct timeval tv;
+	gettimeofday( &tv, NULL );
+	return ((double)tv.tv_sec) + ((double)tv.tv_usec/1000000.0);
+}
+#else
+#include "windows.h"
+#include "winbase.h"
+inline double getTime()
+{
+       uint32_t t = (uint32_t) GetTickCount();
+       return (double) t / 1000.0;
+}
+#endif
+
+Bu::String genThing()
+{
+	Bu::String bob;
+	bob.append("ab ");
+	bob += "cd ";
+	bob += "efg";
+
+    printf("---bob------\n%08tX: %s\n", (ptrdiff_t)bob.getStr(),
+			bob.getStr() );
+	return bob;
+}
+
+void thing( Bu::String str )
+{
+	printf("Hey:  %s\n", str.getStr() );
+}
+
+void copyfunc( std::string temp )
+{
+	temp += "Hi";
+}
+
+void copyfunc( Bu::String temp )
+{
+	temp += "Hi";
+}
+
+void doTimings()
+{
+	Bu::String fs1, fs2;
+	std::string ss1, ss2;
+	double dStart, dEnd, tfs1, tfs2, tfs3, tss1, tss2, tss3;
+	int nChars = 500000, nChunks=5000, nCopies=5000000, nChunkSize=1024*4;
+	char *buf = new char[nChunkSize];
+	memset( buf, '!', nChunkSize );
+
+	printf("Timing Bu::String single chars...\n");
+	dStart = getTime();
+	for( int j = 0; j < nChars; j++ ) fs1 += (char)('a'+(j%26));
+	fs1.getStr();
+	dEnd = getTime();
+	tfs1 = dEnd-dStart;
+
+	printf("Timing std::string single chars...\n");
+	dStart = getTime();
+	for( int j = 0; j < nChars; j++ ) ss1 += (char)('a'+(j%26));
+	ss1.c_str();
+	dEnd = getTime();
+	tss1 = dEnd-dStart;
+
+	printf("Timing Bu::String %d char chunks...\n", nChunkSize);
+	dStart = getTime();
+	for( int j = 0; j < nChunks; j++ ) fs2.append(buf, nChunkSize);
+	fs2.getStr();
+	dEnd = getTime();
+	tfs2 = dEnd-dStart;
+
+	printf("Timing std::string %d char chunks...\n", nChunkSize);
+	dStart = getTime();
+	for( int j = 0; j < nChunks; j++ ) ss2.append(buf, nChunkSize);
+	ss2.c_str();
+	dEnd = getTime();
+	tss2 = dEnd-dStart;
+
+	fs2 = "Hello there.";
+	ss2 = "Hello there.";
+	printf("Timing Bu::String copies...\n");
+	dStart = getTime();
+	for( int j = 0; j < nCopies; j++ ) Bu::String stmp = fs2;
+	dEnd = getTime();
+	tfs3 = dEnd-dStart;
+
+	printf("Timing std::string copies...\n");
+	dStart = getTime();
+	for( int j = 0; j < nCopies; j++ ) std::string stpm = ss2;
+	dEnd = getTime();
+	tss3 = dEnd-dStart;
+
+	printf(
+		"Results:       singles:        chunks:         copies:\n"
+		"Bu::String    %10.2f/s   %10.2f/s   %10.2f/s\n"
+		"std::string    %10.2f/s   %10.2f/s   %10.2f/s\n",
+		nChars/tfs1, nChunks/tfs2, nCopies/tfs3,
+		nChars/tss1, nChunks/tss2, nCopies/tss3 );
+
+	delete[] buf;
+}
+
+#define pem printf("---------\n%08tX: %s\n%08tX: %s\n", (ptrdiff_t)str.getStr(), str.getStr(), (ptrdiff_t)str2.getStr(), str2.getStr() );
+int main( )
+{
+	Bu::String fs1;
+	for( int j = 0; j < 500000; j++ ) fs1 += (char)('a'+(j%26));
+	return 0;
+
+	Bu::String str("th");
+
+	str.prepend("Hello ");
+	str.append("ere.");
+
+	Bu::String str2( str );
+	pem;
+	str += "  What's up?";
+	pem;
+	str2 += "  How are you?";
+	pem;
+	str = str2;
+	pem;
+
+	str2 = genThing();
+	pem;
+
+	str = str2;
+	pem;
+
+	thing( str2 );
+	thing("test.");
+	
+	printf("%d == %d\n", Bu::__calcHashCode( str ), Bu::__calcHashCode( str.getStr() ) );
+
+	doTimings();
+
+	return 0;
+}
+
diff --git a/src/unit/fstring.unit b/src/unit/fstring.unit
deleted file mode 100644
index f51e4de..0000000
--- a/src/unit/fstring.unit
+++ /dev/null
@@ -1,351 +0,0 @@
-// vim: syntax=cpp
-/*
- * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
- *
- * This file is part of the libbu++ library and is released under the
- * terms of the license contained in the file LICENSE.
- */
-
-#include "bu/string.h"
-
-#include 
-
-suite String
-{
-	test compare1
-	{
-		Bu::String b("Bob");
-		unitTest( !(b == "Bobo") );
-		unitTest( b == "Bob" );
-	}
-
-	test compare2
-	{
-		Bu::String b("Bobo");
-		unitTest( !(b == "Bob") );
-		unitTest( b == "Bobo" );
-	}
-
-	test appendSingle
-	{
-		Bu::String b;
-		for( char l = 'a'; l < 'g'; l++ )
-			b += l;
-		unitTest( b == "abcdef" );
-		unitTest( strcmp( b.getStr(), "abcdef" ) == 0 );
-	}
-
-	test shared1
-	{
-		Bu::String a("Hey there");
-		Bu::String b( a );
-		unitTest( a.getConstStr() == b.getConstStr() );
-		b += " guy";
-		unitTest( a.getConstStr() != b.getConstStr() );
-		a = b;
-		unitTest( a.getConstStr() == b.getConstStr() );
-	}
-
-	test insert
-	{
-		Bu::String a("abcd");
-		a.insert( 2, "-!-", 3 );
-		unitTest( a == "ab-!-cd" );
-		
-		a.insert( 0, "!!", 2 );
-		unitTest( a == "!!ab-!-cd" );
-		
-		a.insert( -10, "789", 3 );
-		unitTest( a == "789!!ab-!-cd" );
-		
-		a.insert( 12, "89", 2 );
-		unitTest( a == "789!!ab-!-cd89" );
-		
-		a.insert( 1203, "12", 2 );
-		unitTest( a == "789!!ab-!-cd8912" );
-	}
-
-	test remove
-	{
-		Bu::String a("abHEYcd");
-		a.remove( 2, 3 );
-		unitTest( a == "abcd" );
-		a.remove( 2, 5 );
-		unitTest( a == "ab" );
-		a += "cdefghijklmnop";
-		a.remove( 5, 1 );
-		unitTest( a == "abcdeghijklmnop" );
-	}
-
-	test add1
-	{
-		Bu::String a("hi there");
-		Bu::String b(", yeah!");
-		Bu::String c = a + b;
-
-		unitTest( c == "hi there, yeah!" );
-	}
-
-	test add2
-	{
-		Bu::String a("hi there");
-		Bu::String c = a + ", yeah!";
-
-		unitTest( c == "hi there, yeah!" );
-	}
-
-	test add3
-	{
-		Bu::String a("hi there");
-		Bu::String b(", yeah!");
-		Bu::String c = a + ", Mr. Man" + b;
-
-		unitTest( c == "hi there, Mr. Man, yeah!" );
-	}
-
-	test add4
-	{
-		Bu::String b(", yeah!");
-		Bu::String c = "hi there" + b;
-
-		unitTest( c == "hi there, yeah!" );
-	}
-
-	test add5
-	{
-		Bu::String b;
-		Bu::String c = "sup?";
-		b += "hey, " + c;
-		
-		unitTest( b == "hey, sup?" );
-	}
-
-	test add6
-	{
-		Bu::String a("Hello");
-		char b[256] = {"Dude"};
-		Bu::String c = a + "/" + b;
-
-		unitTest( c == "Hello/Dude" );
-	}
-
-	test add7
-	{
-		const Bu::String a("hello ");
-		Bu::String b(" how ");
-		unitTest( a == "hello " );
-		unitTest( a + "dude" == "hello dude" );
-		unitTest( a + "dude" + b + "are you?" == "hello dude how are you?" );
-	}
-
-	test subStr1
-	{
-		Bu::String a("abcdefghijklmnop");
-		Bu::String::iterator i = a.find('f');
-		unitTest( a.getSubStr( i, Bu::String::iterator() ) == "fghijklmnop" );
-		Bu::String::iterator j = i.find('l');
-		unitTest( a.getSubStr( i, j ) == "fghijk" );
-	}
-
-	test compareSub1
-	{
-		Bu::String a("just a string.");
-		unitTest( a.compareSub("a ", 5, 2) == true );
-		unitTest( a.compareSub("string.aoeu", 7, 11 ) == false );
-		unitTest( a.compareSub("string.aoeu", 7, 3 ) == true );
-	}
-
-	test compareSub2
-	{
-		Bu::String a("just a string.");
-		unitTest( a.compareSub(Bu::String("a "), 5, 2) == true );
-		unitTest( a.compareSub(Bu::String("string.aoeu"), 7, 11 ) == false );
-		unitTest( a.compareSub(Bu::String("string.aoeu"), 7, 3 ) == true );
-	}
-
-	test iterator1
-	{
-		Bu::String a("This is a test.");
-		Bu::String b;
-		for( Bu::String::iterator i = a.begin(); i; i++ )
-		{
-			b += *i;
-		}
-		unitTest( a == b );
-	}
-
-	test iterator2
-	{
-		Bu::String a("This is a test.");
-		Bu::String b("--This is a test.");
-		Bu::String::iterator ai = a.begin();
-		Bu::String::iterator bi = b.begin();
-		unitTest( ai.compare( bi ) == false );
-		unitTest( bi.compare( ai ) == false );
-		bi++; bi++;
-		unitTest( ai.compare( bi ) == true );
-		unitTest( bi.compare( ai ) == true );
-	}
-
-	test iterator3
-	{
-		Bu::String a("1234honour");
-		Bu::String b("--1234ueje");
-		Bu::String::iterator ai = a.begin();
-		Bu::String::iterator bi = b.begin();
-		unitTest( ai.compare( bi, 4 ) == false );
-		unitTest( bi.compare( ai, 4 ) == false );
-		bi++; bi++;
-		unitTest( ai.compare( bi, 4 ) == true );
-		unitTest( bi.compare( ai, 4 ) == true );
-		unitTest( ai.compare( bi, 5 ) == false );
-		unitTest( bi.compare( ai, 5 ) == false );
-
-	}
-
-	test iterator4
-	{
-		Bu::String a("1234aoeu");
-		Bu::String::iterator ai = a.begin();
-		unitTest( ai.compare("1234") == false );
-		unitTest( ai.compare("1234aoeu") == true );
-		unitTest( ai.compare("1234aoeuee") == false );
-	}
-
-	test iterator5
-	{
-		Bu::String a("1234aoeu");
-		Bu::String::iterator ai = a.begin();
-		unitTest( ai.compare("1234", 4) == true );
-		unitTest( ai.compare("1234aoeu", 8) == true );
-		unitTest( ai.compare("1234aoeuee", 10) == false );
-	}
-
-	test iterator6
-	{
-		Bu::String a("just ->this part");
-		Bu::String b;
-		Bu::String::iterator s = a.begin();
-		for(; s; s++ )
-		{
-			if( *s == '>' )
-			{
-				s++;
-				b.set( s );
-				break;
-			}
-		}
-		unitTest( b == "this part" );
-
-		b.append( s );
-
-		Bu::String c;
-		c.set( b.begin() );
-
-		// This is here because the comparison operator used to cause flattening.
-		unitTest( b == "this partthis part" );
-		unitTest( c == b );
-	}
-
-	test iterator7
-	{
-		Bu::String a("just [this] part");
-		Bu::String b;
-		Bu::String::iterator s = a.begin();
-		for(; s; s++ )
-		{
-			if( *s == '[' )
-			{
-				s++;
-				break;
-			}
-		}
-		Bu::String::iterator e = s;
-		for(; e; e++ )
-		{
-			if( *e == ']' )
-			{
-				b.set( s, e );
-				break;
-			}
-		}
-		unitTest( b == "this" );
-
-		b.append( s, e );
-
-		for( Bu::String::iterator i = b.begin(); i;)
-		{
-			Bu::String::iterator k = i;
-			k++;
-			if( !k )
-			{
-				b.append( b.begin(), i );
-				break;
-			}
-			i = k;
-		}
-		Bu::String l;
-		l.set( b.begin() );
-		unitTest( l == "thisthisthisthi" );
-		for( Bu::String::iterator i = b.begin(); i;)
-		{
-			Bu::String::iterator k = i;
-			k++;
-			if( !k )
-			{
-				b.append( b.begin(), i );
-				break;
-			}
-			i = k;
-		}
-		l.set( b.begin() );
-		unitTest( l == "thisthisthisthithisthisthisth" );
-	}
-
-	test isSet1
-	{
-		Bu::String bob;
-
-		unitTest( bob.isSet() == false );
-		bob = "something";
-		unitTest( bob.isSet() == true );
-		bob = "";
-		unitTest( bob.isSet() == false );
-	}
-
-	test swap1
-	{
-		Bu::String a, b;
-		a = "Goodbye";
-		b = "Hello";
-		Bu::swap( a, b );
-		unitTest( a == "Hello" );
-		unitTest( b == "Goodbye" );
-	}
-
-	test swap2
-	{
-		Bu::String a, b;
-		a = "Goodbye";
-		b = "Hello";
-		std::swap( a, b );
-		unitTest( a == "Hello" );
-		unitTest( b == "Goodbye" );
-	}
-
-	test replace1
-	{
-		Bu::String a;
-		a = "This is a test.";
-		unitTest( a.replace("i", "ooo") == "Thooos ooos a test." );
-	}
-
-	test coreDerefBug1
-	{
-		Bu::String a, b;
-		a = "bob";
-		a.setSize( 0 );
-		b = a;
-		b.getStr();
-	}
-}
diff --git a/src/unit/string.unit b/src/unit/string.unit
new file mode 100644
index 0000000..f51e4de
--- /dev/null
+++ b/src/unit/string.unit
@@ -0,0 +1,351 @@
+// vim: syntax=cpp
+/*
+ * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
+ *
+ * This file is part of the libbu++ library and is released under the
+ * terms of the license contained in the file LICENSE.
+ */
+
+#include "bu/string.h"
+
+#include 
+
+suite String
+{
+	test compare1
+	{
+		Bu::String b("Bob");
+		unitTest( !(b == "Bobo") );
+		unitTest( b == "Bob" );
+	}
+
+	test compare2
+	{
+		Bu::String b("Bobo");
+		unitTest( !(b == "Bob") );
+		unitTest( b == "Bobo" );
+	}
+
+	test appendSingle
+	{
+		Bu::String b;
+		for( char l = 'a'; l < 'g'; l++ )
+			b += l;
+		unitTest( b == "abcdef" );
+		unitTest( strcmp( b.getStr(), "abcdef" ) == 0 );
+	}
+
+	test shared1
+	{
+		Bu::String a("Hey there");
+		Bu::String b( a );
+		unitTest( a.getConstStr() == b.getConstStr() );
+		b += " guy";
+		unitTest( a.getConstStr() != b.getConstStr() );
+		a = b;
+		unitTest( a.getConstStr() == b.getConstStr() );
+	}
+
+	test insert
+	{
+		Bu::String a("abcd");
+		a.insert( 2, "-!-", 3 );
+		unitTest( a == "ab-!-cd" );
+		
+		a.insert( 0, "!!", 2 );
+		unitTest( a == "!!ab-!-cd" );
+		
+		a.insert( -10, "789", 3 );
+		unitTest( a == "789!!ab-!-cd" );
+		
+		a.insert( 12, "89", 2 );
+		unitTest( a == "789!!ab-!-cd89" );
+		
+		a.insert( 1203, "12", 2 );
+		unitTest( a == "789!!ab-!-cd8912" );
+	}
+
+	test remove
+	{
+		Bu::String a("abHEYcd");
+		a.remove( 2, 3 );
+		unitTest( a == "abcd" );
+		a.remove( 2, 5 );
+		unitTest( a == "ab" );
+		a += "cdefghijklmnop";
+		a.remove( 5, 1 );
+		unitTest( a == "abcdeghijklmnop" );
+	}
+
+	test add1
+	{
+		Bu::String a("hi there");
+		Bu::String b(", yeah!");
+		Bu::String c = a + b;
+
+		unitTest( c == "hi there, yeah!" );
+	}
+
+	test add2
+	{
+		Bu::String a("hi there");
+		Bu::String c = a + ", yeah!";
+
+		unitTest( c == "hi there, yeah!" );
+	}
+
+	test add3
+	{
+		Bu::String a("hi there");
+		Bu::String b(", yeah!");
+		Bu::String c = a + ", Mr. Man" + b;
+
+		unitTest( c == "hi there, Mr. Man, yeah!" );
+	}
+
+	test add4
+	{
+		Bu::String b(", yeah!");
+		Bu::String c = "hi there" + b;
+
+		unitTest( c == "hi there, yeah!" );
+	}
+
+	test add5
+	{
+		Bu::String b;
+		Bu::String c = "sup?";
+		b += "hey, " + c;
+		
+		unitTest( b == "hey, sup?" );
+	}
+
+	test add6
+	{
+		Bu::String a("Hello");
+		char b[256] = {"Dude"};
+		Bu::String c = a + "/" + b;
+
+		unitTest( c == "Hello/Dude" );
+	}
+
+	test add7
+	{
+		const Bu::String a("hello ");
+		Bu::String b(" how ");
+		unitTest( a == "hello " );
+		unitTest( a + "dude" == "hello dude" );
+		unitTest( a + "dude" + b + "are you?" == "hello dude how are you?" );
+	}
+
+	test subStr1
+	{
+		Bu::String a("abcdefghijklmnop");
+		Bu::String::iterator i = a.find('f');
+		unitTest( a.getSubStr( i, Bu::String::iterator() ) == "fghijklmnop" );
+		Bu::String::iterator j = i.find('l');
+		unitTest( a.getSubStr( i, j ) == "fghijk" );
+	}
+
+	test compareSub1
+	{
+		Bu::String a("just a string.");
+		unitTest( a.compareSub("a ", 5, 2) == true );
+		unitTest( a.compareSub("string.aoeu", 7, 11 ) == false );
+		unitTest( a.compareSub("string.aoeu", 7, 3 ) == true );
+	}
+
+	test compareSub2
+	{
+		Bu::String a("just a string.");
+		unitTest( a.compareSub(Bu::String("a "), 5, 2) == true );
+		unitTest( a.compareSub(Bu::String("string.aoeu"), 7, 11 ) == false );
+		unitTest( a.compareSub(Bu::String("string.aoeu"), 7, 3 ) == true );
+	}
+
+	test iterator1
+	{
+		Bu::String a("This is a test.");
+		Bu::String b;
+		for( Bu::String::iterator i = a.begin(); i; i++ )
+		{
+			b += *i;
+		}
+		unitTest( a == b );
+	}
+
+	test iterator2
+	{
+		Bu::String a("This is a test.");
+		Bu::String b("--This is a test.");
+		Bu::String::iterator ai = a.begin();
+		Bu::String::iterator bi = b.begin();
+		unitTest( ai.compare( bi ) == false );
+		unitTest( bi.compare( ai ) == false );
+		bi++; bi++;
+		unitTest( ai.compare( bi ) == true );
+		unitTest( bi.compare( ai ) == true );
+	}
+
+	test iterator3
+	{
+		Bu::String a("1234honour");
+		Bu::String b("--1234ueje");
+		Bu::String::iterator ai = a.begin();
+		Bu::String::iterator bi = b.begin();
+		unitTest( ai.compare( bi, 4 ) == false );
+		unitTest( bi.compare( ai, 4 ) == false );
+		bi++; bi++;
+		unitTest( ai.compare( bi, 4 ) == true );
+		unitTest( bi.compare( ai, 4 ) == true );
+		unitTest( ai.compare( bi, 5 ) == false );
+		unitTest( bi.compare( ai, 5 ) == false );
+
+	}
+
+	test iterator4
+	{
+		Bu::String a("1234aoeu");
+		Bu::String::iterator ai = a.begin();
+		unitTest( ai.compare("1234") == false );
+		unitTest( ai.compare("1234aoeu") == true );
+		unitTest( ai.compare("1234aoeuee") == false );
+	}
+
+	test iterator5
+	{
+		Bu::String a("1234aoeu");
+		Bu::String::iterator ai = a.begin();
+		unitTest( ai.compare("1234", 4) == true );
+		unitTest( ai.compare("1234aoeu", 8) == true );
+		unitTest( ai.compare("1234aoeuee", 10) == false );
+	}
+
+	test iterator6
+	{
+		Bu::String a("just ->this part");
+		Bu::String b;
+		Bu::String::iterator s = a.begin();
+		for(; s; s++ )
+		{
+			if( *s == '>' )
+			{
+				s++;
+				b.set( s );
+				break;
+			}
+		}
+		unitTest( b == "this part" );
+
+		b.append( s );
+
+		Bu::String c;
+		c.set( b.begin() );
+
+		// This is here because the comparison operator used to cause flattening.
+		unitTest( b == "this partthis part" );
+		unitTest( c == b );
+	}
+
+	test iterator7
+	{
+		Bu::String a("just [this] part");
+		Bu::String b;
+		Bu::String::iterator s = a.begin();
+		for(; s; s++ )
+		{
+			if( *s == '[' )
+			{
+				s++;
+				break;
+			}
+		}
+		Bu::String::iterator e = s;
+		for(; e; e++ )
+		{
+			if( *e == ']' )
+			{
+				b.set( s, e );
+				break;
+			}
+		}
+		unitTest( b == "this" );
+
+		b.append( s, e );
+
+		for( Bu::String::iterator i = b.begin(); i;)
+		{
+			Bu::String::iterator k = i;
+			k++;
+			if( !k )
+			{
+				b.append( b.begin(), i );
+				break;
+			}
+			i = k;
+		}
+		Bu::String l;
+		l.set( b.begin() );
+		unitTest( l == "thisthisthisthi" );
+		for( Bu::String::iterator i = b.begin(); i;)
+		{
+			Bu::String::iterator k = i;
+			k++;
+			if( !k )
+			{
+				b.append( b.begin(), i );
+				break;
+			}
+			i = k;
+		}
+		l.set( b.begin() );
+		unitTest( l == "thisthisthisthithisthisthisth" );
+	}
+
+	test isSet1
+	{
+		Bu::String bob;
+
+		unitTest( bob.isSet() == false );
+		bob = "something";
+		unitTest( bob.isSet() == true );
+		bob = "";
+		unitTest( bob.isSet() == false );
+	}
+
+	test swap1
+	{
+		Bu::String a, b;
+		a = "Goodbye";
+		b = "Hello";
+		Bu::swap( a, b );
+		unitTest( a == "Hello" );
+		unitTest( b == "Goodbye" );
+	}
+
+	test swap2
+	{
+		Bu::String a, b;
+		a = "Goodbye";
+		b = "Hello";
+		std::swap( a, b );
+		unitTest( a == "Hello" );
+		unitTest( b == "Goodbye" );
+	}
+
+	test replace1
+	{
+		Bu::String a;
+		a = "This is a test.";
+		unitTest( a.replace("i", "ooo") == "Thooos ooos a test." );
+	}
+
+	test coreDerefBug1
+	{
+		Bu::String a, b;
+		a = "bob";
+		a.setSize( 0 );
+		b = a;
+		b.getStr();
+	}
+}
-- 
cgit v1.2.3