help-gengetopt
[Top][All Lists]
Advanced

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

Re: [help-gengetopt] BUG : mutiple and argoptional option fail to fill <


From: Lorenzo Bettini
Subject: Re: [help-gengetopt] BUG : mutiple and argoptional option fail to fill <opt>_args[0] with default value
Date: Sat, 20 Oct 2012 13:42:56 +0200
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20120420 Thunderbird/12.0

Then, please file a bug report (see the link at gengetopt's site); but I won't be able to work on that for some time, so please, if you want to provide a patch, you're very welcome :)

cheers
        Lorenzo

On 19/10/2012 16:00, Frédéric Heitzmann wrote:
Lorenzo,

It __would__ make sense if this behaviour was consistent with the 'non
multiple option' behaviour.
Let me show you :

option "unique" - "set a 'unique' option" string typestr="STR" optional
argoptional default="unique_default"
option "multiple" - "set a 'multiple' option" string typestr="STR"
optional argoptional default="multiple_default" multiple

Using a small test program (code below), I see :

$ ./ggotest
unique: unique_arg=unique_default unique_orig=(null) unique_given=0
multiple: multiple_given=0 multiple_arg[0]=multiple_default
multiple_orig[0]=(null)

 >> excepted

$ ./ggotest --unique --multiple
unique: *unique_arg=unique_default* unique_orig=(null) unique_given=1
multiple: multiple_given=0 *multiple_arg[0]=(null)* multiple_orig[0]=(null)

 >> oops ! I expected to see the same argument for both options.
According to you, maybe it is the --unique option which should have a
(null) argument.
Either way, the current behaviour seems inconsistent, and unaligned with
the documentation :
/"If it is known that a multiple option has a default value, then it can
be safely assumed that the first element of generated array
<option>_arg| is always set."/

What do you think ?

--
Fred

On 19 October 2012 12:54, Lorenzo Bettini <address@hidden
<mailto:address@hidden>> wrote:

    Hi

    since you also specify that 'argoptional' then the default value is not
    set if you specify no argument to --foo, since the argument is optional,
    so that option --foo is meant to be able to deal also with no argument
    at all... that's how I interpreted the semantics when I implemented it.

    Does it make sense?

    hope to hear from you soon
    cheers
             Lorenzo

    P.S. please take a look at the current open (and closed) bugs to make
    sure that this issue has already been raised.

    On 10/19/2012 10:57 AM, Frédéric Heitzmann wrote:
     > Hi all,
     >
     > I defined and option like this :
     >
     > option "foo" - "bla bla bla" string typestr="STR"
    default="default_foo"
     > argoptional multiple optional
     >
     > If I call with --foo, the default value is not added to foo_args[0].
     > Actually, foo_args[0] is a NULL pointer, while I expected that
     > foo_args[0] would be string "default_foo".
     >
     > If I remove 'default', and set --foo without any argument, this time
     > foo_args[0] is set to "default_foo".
     >
     > The documentation says :
     > "If it is known that a multiple option has a default value, then
    it can
     > be safely assumed that the first element of generated array
     > |<option>_arg| is always set. "
     >
     > so it really looks like a bug to me.
     >
     > Can someone confirm ?
     > I may work on a patch if it helps.


    --
    Lorenzo Bettini, PhD in Computer Science, DI, Univ. Torino
    ICQ# lbetto, 16080134     (GNU/Linux User # 158233)
    HOME: http://www.lorenzobettini.it MUSIC: http://www.purplesucker.com
    http://www.myspace.com/supertrouperabba
    BLOGS: http://tronprog.blogspot.com http://longlivemusic.blogspot.com
    http://www.gnu.org/software/src-highlite
    http://www.gnu.org/software/gengetopt
    http://www.gnu.org/software/gengen http://doublecpp.sourceforge.net

    _______________________________________________
    Help-gengetopt mailing list
    address@hidden <mailto:address@hidden>
    https://lists.gnu.org/mailman/listinfo/help-gengetopt




_______________________________________________
Help-gengetopt mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/help-gengetopt




reply via email to

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