summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Mauderer <Christian.Mauderer@embedded-brains.de>2017-11-03 11:08:48 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2017-11-10 13:33:03 +0100
commitbed8742caa074c8d0933ce733cc92c448b680dc0 (patch)
tree109bc2473b55c288f86abd8f01b5444cb45e6075
parent79ad9525a22299f110a38974278243279b377ffc (diff)
wpa_supplicant: Fix getopt.
-rw-r--r--freebsd/contrib/wpa/wpa_supplicant/main.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/freebsd/contrib/wpa/wpa_supplicant/main.c b/freebsd/contrib/wpa/wpa_supplicant/main.c
index 77d6a5bb..e1c13df3 100644
--- a/freebsd/contrib/wpa/wpa_supplicant/main.c
+++ b/freebsd/contrib/wpa/wpa_supplicant/main.c
@@ -20,6 +20,8 @@
#include "p2p_supplicant.h"
#ifdef __rtems__
+#define __need_getopt_newlib
+#include <getopt.h>
#include <assert.h>
#include <sys/mutex.h>
#include <machine/rtems-bsd-program.h>
@@ -187,6 +189,15 @@ int main(int argc, char *argv[])
int iface_count, exitcode = -1;
struct wpa_params params;
struct wpa_global *global;
+#ifdef __rtems__
+ struct getopt_data getopt_data;
+ memset(&getopt_data, 0, sizeof(getopt_data));
+#define optind getopt_data.optind
+#define optarg getopt_data.optarg
+#define opterr getopt_data.opterr
+#define optopt getopt_data.optopt
+#define getopt(argc, argv, opt) getopt_r(argc, argv, "+" opt, &getopt_data)
+#endif /* __rtems__ */
if (os_program_init())
return -1;