summaryrefslogtreecommitdiffstats
path: root/openbsd-compat/getopt.h
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2024-01-08 14:45:14 +1100
committerDamien Miller <djm@mindrot.org>2024-01-08 14:45:14 +1100
commit9ea0a4524ae3276546248a926b6641b2fbc8421b (patch)
tree33a841a884e9cb3c4c7c4b68988ce39cbb16905e /openbsd-compat/getopt.h
parenta72833d00788ef91100c643536ac08ada46440e1 (diff)
unbreak fuzzers for clang16
getopt() needs a throw() attribute to compile, so supply one when compiling things with C++
Diffstat (limited to 'openbsd-compat/getopt.h')
-rw-r--r--openbsd-compat/getopt.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/openbsd-compat/getopt.h b/openbsd-compat/getopt.h
index 65c8bc7f..b050fa83 100644
--- a/openbsd-compat/getopt.h
+++ b/openbsd-compat/getopt.h
@@ -33,6 +33,14 @@
#ifndef _GETOPT_H_
#define _GETOPT_H_
+#ifndef __THROW
+# if defined __cplusplus
+# define __THROW throw()
+# else
+# define __THROW
+# endif
+#endif
+
/*
* GNU-like getopt_long() and 4.4BSD getsubopt()/optreset extensions
*/
@@ -63,8 +71,8 @@ int getopt_long_only(int, char * const *, const char *,
#ifndef _GETOPT_DEFINED_
#define _GETOPT_DEFINED_
-int getopt(int, char * const *, const char *);
-int getsubopt(char **, char * const *, char **);
+int getopt(int, char * const *, const char *) __THROW;
+int getsubopt(char **, char * const *, char **) __THROW;
extern char *optarg; /* getopt(3) external variables */
extern int opterr;