[linux-l] Buggiware Evolution.

Olaf Radicke briefkasten at olaf-radicke.de
So Jun 20 17:22:53 CEST 2010


On Sun, Jun 20, 2010 at 02:22:22PM +0200, Benjamin Schieder wrote:
> On 20.06.2010 13:24:09, Olaf Radicke wrote:
> > Ich glaube auch schon zu wissen was das Problem ist OHNE mir den
> > Quellcode angesehen zu haben. Das Programm durch läuft ein Array ohne
> > die Länge zu prüfen. Klassischer C-Programmiere-Fehler.  Ein Hoch auf
> > die foreach-Schleife!!
> 
> Implementier doch mal foreach in C oder Evolution in Perl :P

Die Glib hat "GArrays". Man bracht aber trozdem die dreifache menge an Code

GArray *garray;
gint i;
garray = g_array_new (FALSE, FALSE, sizeof (gint));
for (i = 0; i < 10000; i++)
  g_array_append_val (garray, i);
for (i = 0; i < 10000; i++)
  if (g_array_index (garray, gint, i) != i)
    g_print ("ERROR: got %d instead of %d\n",
             g_array_index (garray, gint, i), i);
g_array_free (garray, TRUE);

(Quelle: http://library.gnome.org/devel/glib/stable/glib-Arrays.html)

Das selbe noch mal in Qt-C++

 QLinkedList<QString> list;
 ...
 foreach (QString str, list)
     qDebug() << str;

(Quelle: http://doc.qt.nokia.com/4.2/containers.html)

Man möchte also meinen, es sei für KDE-Programmierer einfacher fehlerarmen Code 
zu schreiben, als für Gnome-Programmierer. Natürlich nicht, wenn man im 
Gadget-Geek-Wahn programmiert.


Olaf R



Mehr Informationen über die Mailingliste linux-l