--- deliantra/server/include/dynbuf.h 2008/05/06 16:55:25 1.17 +++ deliantra/server/include/dynbuf.h 2008/09/15 00:16:19 1.20 @@ -50,7 +50,7 @@ char *ptr, *end; int _size; - int extend; + int extend, cextend; chunk *first, *last; void reserve (int size); @@ -163,7 +163,11 @@ //TODO: should optimise the case printf "(name %+d)" as it comes up extremely often - using dynbuf::operator <<; + //using dynbuf::operator <<; // doesn't work, sometimes C++ just suxx + // instead we use an ugly template function + template + dynbuf_text &operator << (T c) { *(dynbuf *)this << c; return *this; } + dynbuf_text &operator << (sint16 i) { add (sint32 (i)); return *this; } dynbuf_text &operator << (uint16 i) { add (sint32 (i)); return *this; } dynbuf_text &operator << (sint32 i) { add (sint32 (i)); return *this; }