http://bugs.gentoo.org/284464 --- src/DBuffer.h.org 2009-09-10 11:58:28.000000000 +0200 +++ src/DBuffer.h 2009-09-10 12:07:30.000000000 +0200 @@ -69,6 +69,8 @@ void operator >>(unsigned char &c); void operator <<(unsigned int n); void operator >>(unsigned int &n); + void operator <<(unsigned long n); + void operator >>(unsigned long &n); void operator <<(float n); void operator >>(float &n); void operator <<(std::string s); --- src/DBuffer.cpp.org 2009-09-10 11:58:38.000000000 +0200 +++ src/DBuffer.cpp 2009-09-10 12:08:18.000000000 +0200 @@ -210,6 +210,18 @@ n = (unsigned int) sn; } + void DBuffer::operator <<(unsigned long n) { + int sn; + sn = (int) (n); + *this << sn; + } + + void DBuffer::operator >>(unsigned long &n) { + int sn; + *this >> sn; + n = (unsigned long) sn; + } + void DBuffer::operator <<(float n) { writeBuf_LE((char *)&n, sizeof(float)); }