[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