Re: Re: getopt and Solaris 10
Derek Price <[email protected]> Tue, 10 May 2005 10:00:11 -0400
| Newsgroups | gmane.comp.lib.gnulib.bugs,gmane.comp.version-control.cvs.bugs,gmane.comp.gnu.core-utils.bugs |
|---|---|
| Organization | Get CVS Support from Ximbiot <http://ximbiot.com>! |
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format. --------------030106040702040309010206 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Paul Eggert wrote: >Derek Price <[email protected]> writes: > > > > >>+ myargv[[0]] = "conftest"; >>+ myargv[[1]] = "-+"; >> >> > >This doesn't null-terminate myargv. > > Okay, looking at that in C89 now, but just out of curiosity, if argv needs to be NULL terminated, what's the point of argc? Revised patch attached. I restored a comment I probably shouldn't have cut as well. 2005-05-10 Derek Price <[email protected]> * m4/getopt.m4: Check for Solaris 10 bug, not decl, when possible. Regards, Derek --------------030106040702040309010206 Content-Type: text/plain; name="getopt-solaris3.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="getopt-solaris3.diff" Index: m4/getopt.m4 =================================================================== RCS file: /cvsroot/gnulib/gnulib/m4/getopt.m4,v retrieving revision 1.9 diff -u -p -r1.9 getopt.m4 --- m4/getopt.m4 6 May 2005 01:04:20 -0000 1.9 +++ m4/getopt.m4 10 May 2005 13:56:05 -0000 @@ -39,8 +39,26 @@ AC_DEFUN([gl_GETOPT], dnl Solaris 10 getopt doesn't handle `+' as a leading character in an dnl option string (as of 2005-05-05). if test -z "$GETOPT_H"; then - AC_CHECK_DECL([getopt_clip], [GETOPT_H=getopt.h], [], - [#include <getopt.h>]) + AC_CACHE_CHECK([for working GNU getopt function], gl_cv_func_gnu_getopt, + [AC_RUN_IFELSE( + [AC_LANG_PROGRAM([#include <getopt.h>],[ + char *myargv[[3]]; + myargv[[0]] = "conftest"; + myargv[[1]] = "-+"; + myargv[[2]] = NULL; + return '?' != getopt (2, myargv, "+a"); + ])], + gl_cv_func_gnu_getopt=yes, + gl_cv_func_gnu_getopt=no, + [dnl cross compiling - pessimistically guess based on decls + dnl Solaris 10 getopt doesn't handle `+' as a leading character in an + dnl option string (as of 2005-05-05). + AC_CHECK_DECL([getopt_clip], + [gl_cv_func_gnu_getopt=no], [gl_cv_func_gnu_getopt=yes], + [#include <getopt.h>])])]) + if test "$gl_cv_func_gnu_getopt" = "no"; then + GETOPT_H=getopt.h + fi fi if test -n "$GETOPT_H"; then --------------030106040702040309010206 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ bug-gnulib mailing list [email protected] http://lists.gnu.org/mailman/listinfo/bug-gnulib --------------030106040702040309010206--