There's a warning about [1] where the code calls the const char * overload of the endsWith method on a member of type QByteArray. This one is actually correct, using a QLatinString makes sense just on QStrings, not QByteArrays. [1] http://lxr.kde.org/source/playground/pim/trojita/src/Imap/Parser/Parser.cpp#675
Yep. You found one of the major complaints with Krazy; namely that it has no real C++ parsing capabilities. In this case, krazy has no idea that currentLine is a QByteArray since it won't look in Parser.h to find the type of the variable. So.. in the meantime until we get better C++ parsing capabilities you can tell Krazy to skip that line by adding the //krazy::exclude=strings comment to the lines with the false positives. Like so: if (currentLine.endsWith("}\r\n")) { //krazy:exclude=strings and if (str.endsWith("\r\n")) //krazy:exclude=strings
*** Bug 356733 has been marked as a duplicate of this bug. ***