bug-gnu-utils
[Top][All Lists]
Advanced

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

Re: Argp Example #2 error


From: Eric Blake
Subject: Re: Argp Example #2 error
Date: Wed, 15 Oct 2014 09:09:24 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.1.1

On 10/15/2014 07:35 AM, Rick Stanley wrote:
> In your example program:
> 
> https://www.gnu.org/software/libc/manual/html_node/Argp-Example-2.html#Argp-Example-2
>  
> 
> On line 37 of the code, there is a typo in the number of arguments:
> 
> static struct argp argp = { 0, 0, 0, doc };
> 
> Should be:
> 
> static struct argp argp = { 0, 0, 0, doc, 0, 0, 0 };

The two are strictly equivalent.  The C standard requires that all
trailing members of a struct are zero-initialized if omitted.

> 
> Compiling with:
> 
> gcc -Wall -Wextra -o argp argp.c
> 
> gives the following error:
> 
> missing initializer for field 'children' (or ‘help_filter’, or ‘argp_domain’) 
> missing initializer for field
> 
> Until all three args have been added to the call.

What an annoying compiler warning option.  So even though it doesn't
affect code correctness, it does seem simple enough to do to shut up
overly-pedantic compilers.

However, you are more likely to get results by writing to the owner of
the libc manual
(https://www.gnu.org/software/libc/manual/html_node/Reporting-Bugs.html#Reporting-Bugs
suggests that they prefer bugzilla reports over mails to an unrelated
list, even for documentation bugs).

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]