Re: [PATCH] udevadm: fix option parsing breakage with klibc

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Nov 14, 2008 at 22:34, Sergey Vlasov <vsu@xxxxxxxxxxx> wrote:
> The klibc implementation of getopt_long() behaves slightly different
> from the glibc one - in particular, it treats the change of the option
> string argument between invocations as start of parsing a different
> command line, and resets its state.  However, the udevadm code
> expected getopt_long() invocations in subcommands to continue parsing
> the rest of command line after initial options has been parsed at the
> top level; with klibc this broke, causing all udevadm subcommands to
> stop recognizing their options.
>
> Instead of relying on the glibc behavior, reset the getopt_long()
> state properly before invoking the subcommand handler: move argv to
> point to the subcommand name, decrease argc appropriately, and set
> optind = 0.  This also fixes a minor bug visible with glibc - without
> setting optind = 0 all getopt_long() calls in subcommand handlers were
> behaving as if "+" was specified as the first character of the option
> string (which disables option reordering), because that state was set
> by the first getopt_long() call at the top level, and was not reset
> when parsing subcommand options.
>
> Signed-off-by: Sergey Vlasov <vsu@xxxxxxxxxxx>
> ---
>  udev/udevadm.c |    4 +++-
>  1 files changed, 3 insertions(+), 1 deletions(-)

Applied.

Thanks,
Kay
--
To unsubscribe from this list: send the line "unsubscribe linux-hotplug" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel]     [Linux DVB]     [Asterisk Internet PBX]     [DCCP]     [Netdev]     [X.org]     [Util Linux NG]     [Fedora Women]     [ALSA Devel]     [Linux USB]

  Powered by Linux