13 Apr 2000 Acapnotic   » (Master)

Spent the evening bug-hunting. Spent a lot of time in "How did this code ever run?" mode -- still not sure of that in some places. Observed I should keep a closer eye on what other people check in to CVS, at least one of the smaller bugs I can confidantly say was Not My Fault. But other people have fixed many a bug for me, so I'm not complaining.

Turns out all hell can break loose in incredibly subtle ways if you do something like guint8 *foo=g_new(bar_t,baz); foo[-1] = quux; This is why people use languages with run-time array bounds checking instead of C. Took me positively forever to find, since the effects did't show up until long after... and when they did, it took odd forms like a gdk_beep() in the stacktrace (seth checked, and nothing even remotely GIMPish uses gdk_beep). efence with PROTECT_BELOW is what finally caught it.

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!