diff options
Diffstat (limited to 'src/netops.c')
| -rw-r--r-- | src/netops.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/src/netops.c b/src/netops.c index 59e6bda1e..fd83a1cc3 100644 --- a/src/netops.c +++ b/src/netops.c @@ -40,16 +40,15 @@ #ifdef GIT_WIN32 static void net_set_error(const char *str) { - int size, error = WSAGetLastError(); - LPSTR err_str = NULL; + int error = WSAGetLastError(); + char * win32_error = git_win32_get_error_message(error); - size = FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, - 0, error, 0, (LPSTR)&err_str, 0, 0); - - GIT_UNUSED(size); - - giterr_set(GITERR_NET, "%s: %s", str, err_str); - LocalFree(err_str); + if (win32_error) { + giterr_set(GITERR_NET, "%s: %s", str, win32_error); + git__free(win32_error); + } else { + giterr_set(GITERR_NET, str); + } } #else static void net_set_error(const char *str) |
