On 1/8/19 6:16 AM, Kevin Wolf wrote:
> Unconditionally setting optind = 1 looks fine. I would, however, quote a > different part of the glibc man page (in addition or instead of the > paragraph you already quoted): > > The variable optind is the index of the next element to be > processed in argv. The system initializes this value to 1. The > caller can reset it to 1 to restart scanning of the same argv, or > when scanning a new argument vector. > > This makes it pretty clear that optind = 1 is fine for our case with > glibc. The FreeBSD man page still suggests that we need optreset = 1, so > I suppose we'd end up with something like: > > ... > optind = 1; > #ifdef __FreeBSD__ > optreset = 1; > #endif If you really want to set optreset for BSD systems, I'd do a configure probe for whether optreset exists, and if so set it for ALL platforms that have optreset, not just for __FreeBSD__. (That, and checkpatch.pl will gripe if you don't do it that way). But I'm leaning towards not bothering with optreset UNLESS someone proves they have a case where it actually matters. -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3226 Virtualization: qemu.org | libvirt.org
signature.asc
Description: OpenPGP digital signature