summaryrefslogtreecommitdiff
path: root/openbsd-compat
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2023-02-27 17:07:52 +1100
committerDamien Miller <djm@mindrot.org>2023-02-27 17:10:12 +1100
commit01dbeb3084d714bbd001ff9d03b9de542e8cdf58 (patch)
tree50237240ebea54abc66df90c42acf3690e20faf0 /openbsd-compat
parenteb88d07c43afe407094e7d609248d85a15e148ef (diff)
downloadopenssh-git-01dbeb3084d714bbd001ff9d03b9de542e8cdf58.tar.gz
avoid clash between for getopt's struct option
Since we don't use getopt_long() nothing outside the getopt() implementation itself uses this structure, so move it into the source to remove it from visibility and clashes with libc's ok dtucker@
Diffstat (limited to 'openbsd-compat')
-rw-r--r--openbsd-compat/getopt.h3
-rw-r--r--openbsd-compat/getopt_long.c14
2 files changed, 17 insertions, 0 deletions
diff --git a/openbsd-compat/getopt.h b/openbsd-compat/getopt.h
index 8eb12447..65c8bc7f 100644
--- a/openbsd-compat/getopt.h
+++ b/openbsd-compat/getopt.h
@@ -40,6 +40,7 @@
#define required_argument 1
#define optional_argument 2
+#if 0
struct option {
/* name of long option */
const char *name;
@@ -58,6 +59,8 @@ int getopt_long(int, char * const *, const char *,
const struct option *, int *);
int getopt_long_only(int, char * const *, const char *,
const struct option *, int *);
+#endif
+
#ifndef _GETOPT_DEFINED_
#define _GETOPT_DEFINED_
int getopt(int, char * const *, const char *);
diff --git a/openbsd-compat/getopt_long.c b/openbsd-compat/getopt_long.c
index 1a5001f7..c2863a78 100644
--- a/openbsd-compat/getopt_long.c
+++ b/openbsd-compat/getopt_long.c
@@ -72,6 +72,20 @@
#include "log.h"
+struct option {
+ /* name of long option */
+ const char *name;
+ /*
+ * one of no_argument, required_argument, and optional_argument:
+ * whether option takes an argument
+ */
+ int has_arg;
+ /* if not NULL, set *flag to val when option found */
+ int *flag;
+ /* if flag not NULL, value to set *flag to; else return value */
+ int val;
+};
+
int opterr = 1; /* if error message should be printed */
int optind = 1; /* index into parent argv vector */
int optopt = '?'; /* character checked for validity */