X-Git-Url: https://tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=test%2Fsplice.c;h=ee77d1bfd8c6bd67eba18a035e818099ebdc49ff;hp=53451481178a5b5958faa9d6ec4f89dad7ac55a4;hb=65f48924ff16a8471ad4464de1ee547bfb8a114c;hpb=d6b45d005530496e48325a6174ecdd889a17bfc1 diff --git a/test/splice.c b/test/splice.c index 53451481..ee77d1bf 100644 --- a/test/splice.c +++ b/test/splice.c @@ -17,16 +17,26 @@ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include -#include -#include -#include -#include -#include -#include +#include "../src/system.h" #ifdef HAVE_MINGW -extern const char *winerror(int); +static const char *winerror(int err) { + static char buf[1024], *ptr; + + ptr = buf + snprintf(buf, sizeof(buf), "(%d) ", err); + + if(!FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, + NULL, err, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), ptr, sizeof(buf) - (ptr - buf), NULL)) { + strncpy(buf, "(unable to format errormessage)", sizeof(buf)); + }; + + if((ptr = strchr(buf, '\r'))) { + *ptr = '\0'; + } + + return buf; +} + #define strerror(x) ((x)>0?strerror(x):winerror(GetLastError())) #define sockerrno WSAGetLastError() #define sockstrerror(x) winerror(x)