$OpenBSD: patch-src_tools_qtextstream_cpp,v 1.1 2013/04/29 10:44:43 espie Exp $ --- src/tools/qtextstream.cpp.orig Sat Apr 27 11:30:52 2013 +++ src/tools/qtextstream.cpp Sat Apr 27 11:35:44 2013 @@ -192,6 +192,7 @@ #define I_SHORT 0x0010 #define I_INT 0x0020 #define I_LONG 0x0030 +#define I_LONGLONG 0x0040 #define I_TYPE_MASK 0x00f0 #define I_BASE_2 QTS::bin @@ -1859,7 +1860,8 @@ QTextStream &QTextStream::operator<<( char c ) return *this; } -QTextStream &QTextStream::output_int( int format, ulong n, bool neg ) +QTextStream &QTextStream::output_int( int format, unsigned long long n, + bool neg ) { static const char hexdigits_lower[] = "0123456789abcdef"; static const char hexdigits_upper[] = "0123456789ABCDEF"; @@ -1876,6 +1878,7 @@ QTextStream &QTextStream::output_int( int format, ulon case I_SHORT: len=16; break; case I_INT: len=sizeof(int)*8; break; case I_LONG: len=32; break; + case I_LONGLONG: len=64; break; default: len = 0; } p = &buf[74]; // go reverse order @@ -1922,7 +1925,7 @@ QTextStream &QTextStream::output_int( int format, ulon p = &buf[74]; *p = '\0'; if ( neg ) - n = (ulong)(-(long)n); + n = (unsigned long long)(-(long long)n); do { *--p = ((int)(n%10)) + '0'; n /= 10; @@ -2036,6 +2039,31 @@ QTextStream &QTextStream::operator<<( signed long i ) QTextStream &QTextStream::operator<<( unsigned long i ) { return output_int( I_LONG | I_UNSIGNED, i, FALSE ); +} + +/*! + \overload + + Writes a \c long long \c int \a i to the stream and returns a reference + to the stream. +*/ + +QTextStream &QTextStream::operator<<( signed long long i ) +{ + return output_int( I_LONGLONG | I_SIGNED, i, i < 0 ); +} + + +/*! + \overload + + Writes an \c unsigned \c long \c int \a i to the stream and + returns a reference to the stream. +*/ + +QTextStream &QTextStream::operator<<( unsigned long long i ) +{ + return output_int( I_LONGLONG | I_UNSIGNED, i, FALSE ); }