[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

RE: [PATCH] apr_getopt_long interface update and interleaving support

From: William A. Rowe, Jr. <wrowe_at_rowe-clan.net>
Date: 2000-11-25 01:48:09 CET

> From: Greg Hudson [mailto:ghudson@MIT.EDU]
> Sent: Friday, November 24, 2000 6:35 PM
>
> >> - char *const *argv;
> >> + char **argv;
>
> > Um. I don't think we can do this with argv. I'm surprised that it
> > isn't "const char * const * argv".
>
> We can do whatever we want with argv. That's pretty well-established.

Yes. But you are making a critical flaw in your thinking :-)
You assume we are dealing with argc/argv ...

after that simmered for a second, realize other apr_getopt users will be
processing other arrays of arrays, not only the main() args.
 
> It wasn't "const char *const *argv" before because a "char **"
> argument is not compatible with such a parameter, and C programs
> canonically take "char **argv", not "const char *const *argv". I'm
> not sure if it's even valid C to silently change from char * to const
> char * without an explicit cast, which is what you'd be doing if you
> wrote a main() which accepted a list of const char pointers intead of
> a list of char pointers.

Don't be silly, you can always pass a non-const value for a const arg.
Same with silent promotions of int to long, etc.
Received on Sat Oct 21 14:36:15 2006

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.