On Wed, Mar 30, 2016 at 03:47:08PM -0400, Gene Heskett wrote: > Phew! I'm with you 100% Fons. Stay upwind, way upwind of code like this. Normally I do. But this was 1) something I needed, and 2) a challenge. > For starters, where the heck are the closing } for the two else clauses > above? They are there, somewhere.... Another example. This is what I wrote (a new function): ---------- /* Delete a direct dependency of client B on client A. */ static void rem_depends (jack_client_internal_t *A, jack_client_internal_t *B) { jack_feedcounts_t *X, *Y; for (X = 0, Y = A->feedlist; Y; X = Y, Y = Y->next) { if (Y->client == B) { if (X) X->next = Y->next; else A->feedlist = Y->next; B->depcount--; free (Y); return; } } } ---------- And this is what was committed: ---------- /* Delete a direct dependency of client B on client A. */ static void rem_depends (jack_client_internal_t *A, jack_client_internal_t *B) { jack_feedcounts_t *X, *Y; for (X = 0, Y = A->feedlist; Y; X = Y, Y = Y->next) { if (Y->client == B) { if (X) { X->next = Y->next; } else { A->feedlist = Y->next; } B->depcount--; free (Y); return; } } } ---------- Ciao, -- FA A world of exhaustive, reliable metadata would be an utopia. It's also a pipe-dream, founded on self-delusion, nerd hubris and hysterically inflated market opportunities. (Cory Doctorow) _______________________________________________ Linux-audio-user mailing list Linux-audio-user@xxxxxxxxxxxxxxxxxxxx http://lists.linuxaudio.org/listinfo/linux-audio-user