From cc635e26424244f39506eb7e4d5eefe7301aa744 Mon Sep 17 00:00:00 2001
From: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Date: Fri, 22 Jan 2010 16:20:44 +0100
Subject: [PATCH] avoid QChar::unicode() calls in debug builds

in release mode they expand to nothing ... not so in debug mode.
---
 src/shared/proparser/profileevaluator.cpp | 26 +++++++++++------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/src/shared/proparser/profileevaluator.cpp b/src/shared/proparser/profileevaluator.cpp
index 1f9ba88dbaf..bbb67ac3b00 100644
--- a/src/shared/proparser/profileevaluator.cpp
+++ b/src/shared/proparser/profileevaluator.cpp
@@ -1476,7 +1476,7 @@ QStringList ProFileEvaluator::Private::expandVariableReferences(
     const ushort DOUBLEQUOTE = '"';
 
     ushort unicode, quote = 0;
-    const QChar *str_data = str.data();
+    const ushort *str_data = (const ushort *)str.data();
     const int str_len = str.length();
 
     QString var, args;
@@ -1488,23 +1488,23 @@ QStringList ProFileEvaluator::Private::expandVariableReferences(
     QString pending; // Buffer for string segments from variables
     // Only one of the above buffers can be filled at a given time.
     for (int i = 0; i < str_len; ++i) {
-        unicode = str_data[i].unicode();
+        unicode = str_data[i];
         if (unicode == DOLLAR) {
-            if (str_len > i+2 && str_data[i+1].unicode() == DOLLAR) {
+            if (str_len > i+2 && str_data[i+1] == DOLLAR) {
                 ++i;
                 ushort term = 0;
                 enum { VAR, ENVIRON, FUNCTION, PROPERTY } var_type = VAR;
-                unicode = str_data[++i].unicode();
+                unicode = str_data[++i];
                 if (unicode == LSQUARE) {
-                    unicode = str_data[++i].unicode();
+                    unicode = str_data[++i];
                     term = RSQUARE;
                     var_type = PROPERTY;
                 } else if (unicode == LCURLY) {
-                    unicode = str_data[++i].unicode();
+                    unicode = str_data[++i];
                     var_type = VAR;
                     term = RCURLY;
                 } else if (unicode == LPAREN) {
-                    unicode = str_data[++i].unicode();
+                    unicode = str_data[++i];
                     var_type = ENVIRON;
                     term = RPAREN;
                 }
@@ -1518,10 +1518,10 @@ QStringList ProFileEvaluator::Private::expandVariableReferences(
                         break;
                     if (++i == str_len)
                         break;
-                    unicode = str_data[i].unicode();
+                    unicode = str_data[i];
                     // at this point, i points to either the 'term' or 'next' character (which is in unicode)
                 }
-                var = QString::fromRawData(str_data + name_start, i - name_start);
+                var = QString::fromRawData((QChar*)str_data + name_start, i - name_start);
                 if (var_type == VAR && unicode == LPAREN) {
                     var_type = FUNCTION;
                     name_start = i + 1;
@@ -1529,7 +1529,7 @@ QStringList ProFileEvaluator::Private::expandVariableReferences(
                     forever {
                         if (++i == str_len)
                             break;
-                        unicode = str_data[i].unicode();
+                        unicode = str_data[i];
                         if (unicode == LPAREN) {
                             depth++;
                         } else if (unicode == RPAREN) {
@@ -1538,9 +1538,9 @@ QStringList ProFileEvaluator::Private::expandVariableReferences(
                             --depth;
                         }
                     }
-                    args = QString(str_data + name_start, i - name_start);
+                    args = QString((QChar*)str_data + name_start, i - name_start);
                     if (++i < str_len)
-                        unicode = str_data[i].unicode();
+                        unicode = str_data[i];
                     else
                         unicode = 0;
                     // at this point i is pointing to the 'next' character (which is in unicode)
@@ -1592,7 +1592,7 @@ QStringList ProFileEvaluator::Private::expandVariableReferences(
             }
         } else if (unicode == BACKSLASH) {
             static const char symbols[] = "[]{}()$\\'\"";
-            ushort unicode2 = str_data[i+1].unicode();
+            ushort unicode2 = str_data[i+1];
             if (!(unicode2 & 0xff00) && strchr(symbols, unicode2)) {
                 unicode = unicode2;
                 ++i;
-- 
GitLab