[LAU] Ardour: exporting woes

Gene Heskett gheskett at wdtv.com
Thu Mar 31 02:29:44 UTC 2016


On Wednesday 30 March 2016 17:18:48 Fons Adriaensen wrote:

> 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;
>                 }
>         }
> }

This 100% readable.  And its what I would have written 30 years back when 
I was still doing code other than the G-Code I am currently hacking up.

> ----------
>
> 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;
>                 }
>         }
> }

That should work, but it has that smell in spite of itself.

What has become of the first principle, write READABLE code?

I'll get me coat now.  This is a younger persons game, but its not an 
improvement...

> Ciao,

Cheers, Gene Heskett
-- 
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Genes Web page <http://geneslinuxbox.net:6309/gene>


More information about the Linux-audio-user mailing list