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
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
_______________________________________________ bug-gnulib mailing list bug-gnulib@gnu.org http://lists.gnu.org/mailman/listinfo/bug-gnulib