Re: add non-option reordering to in-tree getopt_long - Mailing list pgsql-hackers

From Nathan Bossart
Subject Re: add non-option reordering to in-tree getopt_long
Date
Msg-id 20230710181237.GD257945@nathanxps13
Whole thread Raw
In response to Re: add non-option reordering to in-tree getopt_long  (Kyotaro Horiguchi <horikyota.ntt@gmail.com>)
Responses Re: add non-option reordering to in-tree getopt_long
List pgsql-hackers
On Mon, Jul 10, 2023 at 04:57:11PM +0900, Kyotaro Horiguchi wrote:
> +            if (!force_nonopt && place[0] == '-' && place[1])
> +            {
> +                if (place[1] != '-' || place[2])
> +                    break;
> +
> +                optind++;
> +                force_nonopt = true;
> +                continue;
> +            }
> 
> The first if looks good to me, but the second if is a bit hard to get the meaning at a glance. "!(place[1] == '-' &&
place[2]== 0)" is easier to read *to me*. Or I'm fine with the following structure here.
 

I'd readily admit that it's tough to read these lines.  I briefly tried to
make use of strcmp() to improve readability, but I wasn't having much luck.
I'll give it another try.

>> if (!force_nonopt ... )
>> {
>>   if (place[1] == '-' && place[2] == 0)
>>   {
>>      optind+;
>>      force_nonopt = true;
>>      continue;
>>   }
>>   break;
>> }
> 
> (To be honest, I see the goto looked clear than for(;;)..)

Okay.  I don't mind adding it back if it improves readability.

-- 
Nathan Bossart
Amazon Web Services: https://aws.amazon.com



pgsql-hackers by date:

Previous
From: Nathan Bossart
Date:
Subject: Re: Should we remove db_user_namespace?
Next
From: Melanie Plageman
Date:
Subject: stats test intermittent failure