Fix incorrect uname usage.
authorChris Stylianou <chris5287@gmail.com>
Fri, 21 Jun 2013 14:02:39 +0000 (15:02 +0100)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Mon, 26 Aug 2013 21:56:11 +0000 (23:56 +0200)
The POSIX function uname() can return any non-negative value for success.
- Example: Solaris 10 returns 1 on success.
See: http://pubs.opengroup.org/onlinepubs/009695399/functions/uname.html

Change-Id: Ic3d51f94a31d8b562b28a2d09df3d31b04c77dc8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
(cherry picked from qtbase/e97c37a37ac27f9ab901e974f0a882e81ffd571d)

src/linguist/shared/qmakeevaluator.cpp

index 6692917..4024e12 100644 (file)
@@ -1043,7 +1043,7 @@ void QMakeEvaluator::loadDefaults()
 # endif
 #elif defined(Q_OS_UNIX)
     struct utsname name;
-    if (!uname(&name)) {
+    if (uname(&name) != -1) {
         vars[ProKey("QMAKE_HOST.os")] << ProString(name.sysname);
         vars[ProKey("QMAKE_HOST.name")] << ProString(QString::fromLocal8Bit(name.nodename));
         vars[ProKey("QMAKE_HOST.version")] << ProString(name.release);