summaryrefslogtreecommitdiffstats
path: root/src/tools
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/qgpluginmanager.cpp2
-rw-r--r--src/tools/qtextstream.cpp31
-rw-r--r--src/tools/qtextstream.h5
-rw-r--r--src/tools/qvaluelist.h4
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;
}