kdelibs race condition

Kleag kleag at free.fr
Sun Dec 2 11:41:26 GMT 2007


Le dimanche 2 décembre 2007, Aaron J. Seigo a écrit :
> On Sunday 02 December 2007, Kleag wrote:
> > What's your idea ?
>
> yeah, you can't call kDebug from kconfig since kDebug uses kconfig. you can
> use qDebug though =)
OK. So, would this (below) be a better patch ?

Kleag

Index: kdecore/config/kconfigini.cpp
===================================================================
--- kdecore/config/kconfigini.cpp       (révision 743893)
+++ kdecore/config/kconfigini.cpp       (copie de travail)
@@ -33,7 +33,6 @@
 #include <ksavefile.h>
 #include <kde_file.h>
 #include "kstandarddirs.h"
-#include <kdebug.h>

 #include <qdatetime.h>
 #include <qdir.h>
@@ -107,7 +106,7 @@
                 end = start;
                 for (;;) {
                     if (end == line.length()) {
-                        kWarning() << warningProlog(file, lineNo) << "Invalid 
group header.";
+                         qWarning() << warningProlog(file, lineNo) 
<< "Invalid group header.";
                         // XXX maybe reset the current group here?
                         goto next_line;
                     }
@@ -148,11 +147,11 @@

             if (end == -1 && !line.contains("[$d]")) {
                 // no equals sign
-                kWarning() << warningProlog(file, lineNo) << "Invalid entry 
(missing '=')" << endl;
+                qWarning() << warningProlog(file, lineNo) << "Invalid entry 
(missing '=')" << endl;
                 continue;
             } else if (end == 1) {
                 // empty key
-                kWarning() << warningProlog(file, lineNo) << "Invalid entry 
(empty key)" << endl;
+                qWarning() << warningProlog(file, lineNo) << "Invalid entry 
(empty key)" << endl;
                 continue;
             }
             QByteArray aKey = line.left(end);
@@ -172,11 +171,11 @@
                 int start = aKey.indexOf('[');
                 end = aKey.indexOf(']', start);
                 if (start != -1 && end == -1) {
-                    kWarning() << warningProlog(file, lineNo)
+                    qWarning() << warningProlog(file, lineNo)
                             << "Invalid entry (missing ']')" << endl;
                     continue;
                 } else if (end < start) {
-                    kWarning() << warningProlog(file, lineNo)
+                    qWarning() << warningProlog(file, lineNo)
                             << "Invalid entry (unmatched ']')" << endl;
                     continue;
                 }else if (aKey.at(start+1) == '$') { // found option(s)
@@ -203,7 +202,7 @@
                     }
                 } else { // found a locale
                     if (!locale.isNull()) {
-                        kWarning() << warningProlog(file, lineNo)
+                        qWarning() << warningProlog(file, lineNo)
                                 << "Invalid entry (second locale!?)" << endl;
                         continue;
                     }
@@ -622,7 +621,7 @@
         } else {
             QByteArray e(str, 2);
             e.prepend("\\x");
-            kWarning() << warningProlog(file, line) << "Invalid hex 
character " << c
+            qWarning() << warningProlog(file, line) << "Invalid hex 
character " << c
                     << " in \\x<nn>-type escape sequence \"" << e.constData() 
<< "\"." << endl;
             return 'x';
         }
@@ -690,7 +689,7 @@
                     break;
                 default:
                     *r = '\\';
-                    kWarning() << warningProlog(file, line)
+                    qWarning() << warningProlog(file, line)
                             << QString("Invalid escape sequence 
\"\\%1\".").arg(str[i]) << endl;
             }
         }

-- 
KsirK - a turn-based strategy game for KDE
http://gna.org/projects/ksirk

KGraphViewer - a GraphViz dot graphs viewer
http://extragear.kde.org/apps/kgraphviewer




More information about the kde-core-devel mailing list