help-gengetopt
[Top][All Lists]
Advanced

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

Re: [help-gengetopt] Re: Gengetopt 2.21 enhancement suggestions


From: Lorenzo Bettini
Subject: Re: [help-gengetopt] Re: Gengetopt 2.21 enhancement suggestions
Date: Thu, 18 Oct 2007 13:33:46 +0200
User-agent: Mozilla-Thunderbird 2.0.0.4 (X11/20070828)

Papp Gyozo (VBuster) wrote:
generated code is going; if you take a look at the current version
in CVS you'll see lots of usage of void pointers, unions and switch
 statements (with corresponding casts) to deal with different
types... this is why I love C++'s polymorphism and really don't
like C ;-)

OK, I'll check it if I have a little time.

Last when I was dealing with gengetopt's source refactoring I had a
feeling that using type-specific callbacks may be a good approach. I
mean different callbacks for options of type integer, floats and
string. But now I don't know how far you have got in refactoring.

actually, in this refactoring, there's only one update function for all the options (and one for multiple options which of course rely on the former); although this required some time to write that generic function correctly, then, its usage is simpler (especially for adding functionalities). For instance, now the main switch statement is cleaner (since it only calls this function, unless for group updates which is still there)

The only problem is that generic in C means either void * or unions and lots of conversions.

having different functions for each time might lead to code bloat, and are harder to maintain...

cheers
        Lorenzo

--
Lorenzo Bettini, PhD in Computer Science, DSI, Univ. di Firenze
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




reply via email to

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