From: Joseph C. Lehner Date: Fri, 5 Feb 2016 18:20:23 +0000 (+0200) Subject: Better error messages on Windows X-Git-Tag: v0.9~40 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=0fbee16f65ffaa3d47de1bda2733cd899cdfadda;p=oweals%2Fnmrpflash.git Better error messages on Windows --- diff --git a/ethsock.c b/ethsock.c index c11f13d..3d5e60f 100644 --- a/ethsock.c +++ b/ethsock.c @@ -87,9 +87,20 @@ static bool get_hwaddr(uint8_t *hwaddr, const char *intf) } #else -static void win_perror2(const char *msg, int err) +void win_perror2(const char *msg, DWORD err) { - fprintf(stderr, "%s: error %d\n", msg, err); + char *buf = NULL; + FormatMessageA(FORMAT_MESSAGE_ALLOCATE_BUFFER | + FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, + NULL, err, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), + (LPTSTR)&buf, 0, NULL); + + if (buf) { + fprintf(stderr, "%s: %s (%d)\n", msg, buf, (int)err); + LocalFree(buf); + } else { + fprintf(stderr, "%s: error %d\n", msg, (int)err); + } } static bool get_hwaddr(uint8_t *hwaddr, const char *intf)