QString latin1 comparision

Juergen Pfennig info at j-pfennig.de
Sun Oct 17 18:31:30 BST 2004


On Saturday 16 October 2004 13:15, Stephan Kulow wrote:
> Am Samstag 16 Oktober 2004 11:07 schrieb Benjamin Meyer:
> > From http://lists.kde.org/?l=kde-core-devel&m=107918336006593&w=2 I have
> > written a script (for the kde automated testing) that finds all cases of
> > it such as:
> >
> > Checking: kdebase
> > table.setSelected(i/3,args[i+2]==QString::fromLatin1("on"));
> > table.setSelected(i/3,args[i+2]==QString::fromLatin1("on"));
> > ./kdialog/widgets.cpp
> >
> > Now after reading the whole thread I am unsure what to do.  Do I remove
> > them in everything or everything but kdelibs or ?
>
> No. we want these fromLatin1 to find the places where the encoding is
> assumed. We should have more of NO_ASCI_CAST instead of less
>
> Greetings, Stephan

Hello Stephan,

I would understand if you would say you want some no-op macro to flag such a 
situation or use the macro that comes with qt4 (or a dummy for that). But 
QString::fromLatin1() is not a no-op and it is unefficient because it creates 
a temporary QString object.

KDE is slow enough and has more than enough bugs. Why trying to make it 
slower? Please have a look at win2003 and compare the speed to KDE! QT is not 
stupid and today the NO_ASCI_CAST makes little sense, as QT has overloaded 
Latin1 functions almost everywhere.

Assuming that you wanted to flag possible char-set problems with non-us-ascii 
chars I come to another question: GNU GCC still does not support  "wide" 
string literals (right?). Like: L"This is UNICODE" . So there are two other 
choices:

(1) using UTF-8 strings everywhere instead of us-ascii (does gcc like this?)

(2) moving away from GCC - here: supporting UNICODE string literals.

Moving away from GCC (by using a pre-processor?) could help to cure another 
extremely ugly KDE problem:

--- The broken exception handling in C++ (is it really broken?)

I am sure that the introduction of a general exception handling mechanism 
could increase the quality of KDE.

Yours Jürgen




More information about the kde-core-devel mailing list