Bash is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
-Software Foundation; either version 1, or (at your option) any later
+Software Foundation; either version 2, or (at your option) any later
version.
Bash is distributed in the hope that it will be useful, but WITHOUT ANY
You should have received a copy of the GNU General Public License along
with Bash; see the file COPYING. If not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA.
$PRODUCES getopts.c
#include <stdio.h>
#if defined (HAVE_UNISTD_H)
+# ifdef _MINIX
+# include <sys/types.h>
+# endif
# include <unistd.h>
#endif
{
for (i = 0; i < 10 && dollar_vars[i]; i++)
;
+
+ sh_getopt_restore_state (dollar_vars);
ret = sh_getopt (i, dollar_vars, optstr);
}
else
;
for (words = rest_of_args; words; words = words->next, i++)
;
- v = (char **)xmalloc ((i + 1) * sizeof (char *));
+ v = alloc_array (i + 1);
for (i = 0; i < 10 && dollar_vars[i]; i++)
- v[i] = dollar_vars[i];
+ v[i] = dollar_vars[i];
for (words = rest_of_args; words; words = words->next, i++)
- v[i] = words->word->word;
+ v[i] = words->word->word;
v[i] = (char *)NULL;
+ sh_getopt_restore_state (v);
ret = sh_getopt (i, v, optstr);
free (v);
}
int ac, ret;
if (list == 0)
- return EXECUTION_FAILURE;
+ {
+ builtin_usage ();
+ return EX_USAGE;
+ }
reset_internal_getopt ();
while ((ret = internal_getopt (list, "")) != -1)