diff options
author | Francois Andriot <[email protected]> | 2014-09-12 12:57:56 -0500 |
---|---|---|
committer | Timothy Pearson <[email protected]> | 2014-09-12 13:01:39 -0500 |
commit | b716176cec88f5fa604b637a947b44b9ff165d5a (patch) | |
tree | 72177722906e1c4afc03bcc57b30cdbad5dd8f60 /src/tools | |
parent | e17513956503963f4d468342a5be6a0967aca97c (diff) | |
download | qt3-b716176cec88f5fa604b637a947b44b9ff165d5a.tar.gz qt3-b716176cec88f5fa604b637a947b44b9ff165d5a.zip |
Fix qmake shared library naming
Add long long int support to TQTextStream
Fix potential segmentation fault in QValueList
Fix library naming in TQT Plugins
This relates to Bug 2107
Diffstat (limited to 'src/tools')
-rw-r--r-- | src/tools/qgpluginmanager.cpp | 2 | ||||
-rw-r--r-- | src/tools/qtextstream.cpp | 31 | ||||
-rw-r--r-- | src/tools/qtextstream.h | 5 | ||||
-rw-r--r-- | src/tools/qvaluelist.h | 4 |
4 files changed, 36 insertions, 6 deletions
diff --git a/src/tools/qgpluginmanager.cpp b/src/tools/qgpluginmanager.cpp index 56b12cd..520e16d 100644 --- a/src/tools/qgpluginmanager.cpp +++ b/src/tools/qgpluginmanager.cpp @@ -323,6 +323,8 @@ void QGPluginManager::addLibraryPath( const QString& path ) QString filter = "*.dylib; *.so; *.bundle"; #elif defined(Q_OS_HPUX) QString filter = "*.sl"; +#elif defined(Q_OS_OPENBSD) + QString filter = "*.so; *.so.*"; #elif defined(Q_OS_UNIX) QString filter = "*.so"; #endif diff --git a/src/tools/qtextstream.cpp b/src/tools/qtextstream.cpp index 63f9625..eb56eec 100644 --- a/src/tools/qtextstream.cpp +++ b/src/tools/qtextstream.cpp @@ -195,6 +195,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 @@ -1862,7 +1863,7 @@ 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"; @@ -1879,6 +1880,7 @@ QTextStream &QTextStream::output_int( int format, ulong n, bool neg ) 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 @@ -1925,7 +1927,7 @@ QTextStream &QTextStream::output_int( int format, ulong n, bool neg ) 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; @@ -2041,6 +2043,31 @@ 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 ); +} + /*! \overload diff --git a/src/tools/qtextstream.h b/src/tools/qtextstream.h index 337cc3b..fb494f0 100644 --- a/src/tools/qtextstream.h +++ b/src/tools/qtextstream.h @@ -102,6 +102,8 @@ public: QTextStream &operator<<( unsigned int ); QTextStream &operator<<( signed long ); QTextStream &operator<<( unsigned long ); + QTextStream &operator<<( signed long long ); + QTextStream &operator<<( unsigned long long ); QTextStream &operator<<( float ); QTextStream &operator<<( double ); QTextStream &operator<<( const char* ); @@ -155,7 +157,8 @@ public: private: long input_int(); void init(); - QTextStream &output_int( int, ulong, bool ); + QTextStream &output_int( int, unsigned long long, bool ); + QIODevice *dev; int fflags; diff --git a/src/tools/qvaluelist.h b/src/tools/qvaluelist.h index 2976214..8c57e54 100644 --- a/src/tools/qvaluelist.h +++ b/src/tools/qvaluelist.h @@ -655,13 +655,11 @@ Q_INLINE_TEMPLATES QDataStream& operator>>( QDataStream& s, QValueList<T>& l ) l.clear(); Q_UINT32 c; s >> c; - for( Q_UINT32 i = 0; i < c; ++i ) + for( Q_UINT32 i = 0; i < c && !s.atEnd(); ++i ) { T t; s >> t; l.append( t ); - if ( s.atEnd() ) - break; } return s; } |