From b3a6f8f53019d1984d4e319db459b11da0663aa3 Mon Sep 17 00:00:00 2001 From: Clifford Wolf Date: Fri, 17 Oct 2014 15:51:33 +0200 Subject: More win32 (mxe and vs) build fixes --- kernel/driver.cc | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'kernel/driver.cc') diff --git a/kernel/driver.cc b/kernel/driver.cc index 7a3cd1a1..5e69cced 100644 --- a/kernel/driver.cc +++ b/kernel/driver.cc @@ -32,6 +32,36 @@ #if !defined(_WIN32) || defined(__MINGW32__) # include +#else +char *optarg; +int optind = 1, optcur = 1; +int getopt(int argc, char **argv, const char *optstring) +{ + if (optind >= argc || argv[optind][0] != '-') + return -1; + + bool takes_arg = false; + int opt = argv[optind][optcur]; + for (int i = 0; optstring[i]; i++) + if (opt == optstring[i] && optstring[i + 1] == ':') + takes_arg = true; + + if (!takes_arg) { + if (argv[optind][++optcur] == 0) + optind++, optcur = 1; + return opt; + } + + if (argv[optind][++optcur]) { + optarg = argv[optind++] + optcur; + optcur = 1; + return opt; + } + + optarg = argv[++optind]; + optind++, optcur = 1; + return opt; +} #endif -- cgit v1.2.3