X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=win%2Finspircd_win32wrapper.cpp;h=3a929d09e375bcc175e0d5fdeebaaf0761a5e54f;hb=6a48a6cc9b6b37c55e0dae5f847a23a5d343be49;hp=1291bbd0a6a329eefa92dc939e865644090c413e;hpb=4eaa390776ad257b5996bd31f099a2255f8df148;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/win/inspircd_win32wrapper.cpp b/win/inspircd_win32wrapper.cpp index 1291bbd0a..3a929d09e 100644 --- a/win/inspircd_win32wrapper.cpp +++ b/win/inspircd_win32wrapper.cpp @@ -65,6 +65,13 @@ int inet_pton(int af, const char *src, void *dst) sockaddr_in sa; int len = sizeof(SOCKADDR); int rv = WSAStringToAddress((LPSTR)src, af, NULL, (LPSOCKADDR)&sa, &len); + if(rv >= 0) + { + if(WSAGetLastError() == 10022) // Invalid Argument + rv = 0; + else + rv = 1; + } memcpy(dst, &sa.sin_addr, sizeof(struct in_addr)); return rv; } @@ -190,72 +197,6 @@ const char * dlerror() return errormessage; } -int printf_c(const char * format, ...) -{ - // Better hope we're not multithreaded, otherwise we'll have chickens crossing the road other side to get the to :P - static char message[500]; - static char temp[10]; - int color1, color2; - - /* parse arguments */ - va_list ap; - va_start(ap, format); - vsnprintf(message, 500, format, ap); - va_end(ap); - - /* search for unix-style escape sequences */ - int t; - int c = 0; - const char * p = message; - while(*p != 0) - { - if (*p == '\033') - { - // Escape sequence -> copy into the temp buffer, and parse the color. - p++; - t = 0; - while(*p != 'm') - { - temp[t++] = *p; - ++p; - } - - temp[t] = 0; - p++; - if (!_stricmp(temp, "[0")) - { - // Returning to normal colour. - SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE); - } - else if (sscanf(temp, "[%u;%u", &color1, &color2) == 2) - { - switch(color2) - { - case 32: // Green - SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_GREEN | FOREGROUND_INTENSITY); - break; - - default: // Unknown - SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY); - break; - } - } - else - { - char message[50]; - sprintf("Unknown color code: %s", temp); - MessageBox(0, message, message, MB_OK); - } - } - - putchar(*p); - ++c; - ++p; - } - - return c; -} - int arg_counter = 1; char optarg[514]; int getopt_long_only(int ___argc, char *const *___argv, const char *__shortopts, const struct option *__longopts, int *__longind) @@ -455,7 +396,6 @@ void ClearConsole() { COORD coordScreen = { 0, 0 }; /* here's where we'll home the cursor */ HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); - BOOL bSuccess; DWORD cCharsWritten; CONSOLE_SCREEN_BUFFER_INFO csbi; /* to get buffer info */ DWORD dwConSize; /* number of character cells in the current buffer */