As advised by 'bing' on IRC last night, I have tried to concentrate on a simpler program than 'ifconfig'-- ping/ping6.
I have replaced all those uses of 'fprintf (stderr, "...); exit (1);" to handle some illegal value passed to an argument, etc. with argp_failure to ensure uniformity in the erroring reporting. What I have done is share the 'struct argp_state *state' between all the files that will now contain calls to argp_failure. Since most of these files already '#include 'ping_common.h', I have put the definition of 'struct argp_state *state' there itself. You can try this patch on the CVS version of ping/ping6: http://glug-nith.org/~rishi/download/src/ping-argp.diff Happy hacking, Debarshi On 13/04/07, Alfred M. Szmidt <[EMAIL PROTECTED]> wrote:
> Wouldn't it be better to use argp_error in those parts? Or do > those actually do parsing? No. According to the manual, argp_error is for handling parsing errors, while argp_failure is for other things like illegal values, etc.. In any case argp_error also needs the 'struct argp_state *state' pointer. Hm, What about using argp children? And changing for example changeif.c into a argp child, the same for system/*. The manual should have some examples, and documentation. You sure did pick one of the most complex programs to work on...
-- GPG key ID: 63D4A5A7 Key server: pgp.mit.edu _______________________________________________ bug-inetutils mailing list [EMAIL PROTECTED] http://lists.gnu.org/mailman/listinfo/bug-inetutils
