projects
/
gnulib.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
regex: port to Stratus OpenVOS
[gnulib.git]
/
lib
/
getopt.c
diff --git
a/lib/getopt.c
b/lib/getopt.c
index
2af8352
..
7c9f704
100644
(file)
--- a/
lib/getopt.c
+++ b/
lib/getopt.c
@@
-829,7
+829,7
@@
_getopt_internal_r (int argc, char **argv, const char *optstring,
return '?';
}
/* Convenience. Treat POSIX -W foo same as long option --foo */
return '?';
}
/* Convenience. Treat POSIX -W foo same as long option --foo */
- if (temp[0] == 'W' && temp[1] == ';'
&& longopts
)
+ if (temp[0] == 'W' && temp[1] == ';')
{
char *nameend;
const struct option *p;
{
char *nameend;
const struct option *p;
@@
-839,6
+839,9
@@
_getopt_internal_r (int argc, char **argv, const char *optstring,
int indfound = 0;
int option_index;
int indfound = 0;
int option_index;
+ if (longopts == NULL)
+ goto no_longs;
+
/* This is an option that requires an argument. */
if (*d->__nextchar != '\0')
{
/* This is an option that requires an argument. */
if (*d->__nextchar != '\0')
{
@@
-1046,8
+1049,10
@@
_getopt_internal_r (int argc, char **argv, const char *optstring,
}
return pfound->val;
}
}
return pfound->val;
}
- d->__nextchar = NULL;
- return 'W'; /* Let the application handle it. */
+
+ no_longs:
+ d->__nextchar = NULL;
+ return 'W'; /* Let the application handle it. */
}
if (temp[1] == ':')
{
}
if (temp[1] == ':')
{