X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=win%2Finspircd_win32wrapper.cpp;h=1a7be09fe710ba7eedb262fdfc6ec2e953616fef;hb=9ad873886e518bf3621a88e8c48607ab79020c0a;hp=8579103e96c9edf29f3889c3f8dfe9afdb4e7237;hpb=6e898936d6e0f44da0992ad09139f0e8e6d141af;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/win/inspircd_win32wrapper.cpp b/win/inspircd_win32wrapper.cpp index 8579103e9..1a7be09fe 100644 --- a/win/inspircd_win32wrapper.cpp +++ b/win/inspircd_win32wrapper.cpp @@ -27,80 +27,7 @@ #include "inspircd.h" #include "configreader.h" #include -#include -#include - -int optind = 1; -char optarg[514]; -int getopt_long(int ___argc, char *const *___argv, const char *__shortopts, const struct option *__longopts, int *__longind) -{ - // burlex todo: handle the shortops, at the moment it only works with longopts. - - if (___argc == 1 || optind == ___argc) // No arguments (apart from filename) - return -1; - - const char * opt = ___argv[optind]; - optind++; - - // if we're not an option, return an error. - if (strnicmp(opt, "--", 2) != 0) - return 1; - else - opt += 2; - - - // parse argument list - int i = 0; - for (; __longopts[i].name != 0; ++i) - { - if (!strnicmp(__longopts[i].name, opt, strlen(__longopts[i].name))) - { - // woot, found a valid argument =) - char * par = 0; - if ((optind) != ___argc) - { - // grab the parameter from the next argument (if its not another argument) - if (strnicmp(___argv[optind], "--", 2) != 0) - { -// optind++; // Trash this next argument, we won't be needing it. - par = ___argv[optind-1]; - } - } - - // increment the argument for next time -// optind++; - - // determine action based on type - if (__longopts[i].has_arg == required_argument && !par) - { - // parameter missing and its a required parameter option - return 1; - } - - // store argument in optarg - if (par) - strncpy(optarg, par, 514); - - if (__longopts[i].flag != 0) - { - // this is a variable, we have to set it if this argument is found. - *__longopts[i].flag = 1; - return 0; - } - else - { - if (__longopts[i].val == -1 || par == 0) - return 1; - - return __longopts[i].val; - } - break; - } - } - - // return 1 (invalid argument) - return 1; -} +#include "ya_getopt.c" CWin32Exception::CWin32Exception() : exception() {