Commit c86d1f19 authored by Kurt Roeckx's avatar Kurt Roeckx
Browse files

Use WSAGetLastError() on windows



Windows doesn't have h_error or hstrerror()

Reviewed-by: default avatarRichard Levitte <levitte@openssl.org>

MR: #1848
parent df057ea6
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -715,8 +715,12 @@ int BIO_lookup(const char *host, const char *service,
            he = gethostbyname(host);

            if (he == NULL) {
#ifndef OPENSSL_SYS_WINDOWS
                BIOerr(BIO_F_BIO_LOOKUP, ERR_R_SYS_LIB);
                ERR_add_error_data(1, hstrerror(h_errno));
#else
                SYSerr(SYS_F_GETHOSTBYNAME, WSAGetLastError());
#endif
                ret = 0;
                goto err;
            }
@@ -747,8 +751,12 @@ int BIO_lookup(const char *host, const char *service,
                se = getservbyname(service, proto);

                if (se == NULL) {
#ifndef OPENSSL_SYS_WINDOWS
                    BIOerr(BIO_F_BIO_LOOKUP, ERR_R_SYS_LIB);
                    ERR_add_error_data(1, hstrerror(h_errno));
#else
                    SYSerr(SYS_F_GETSERVBYNAME, WSAGetLastError());
#endif
                    goto err;
                }
            } else {
+1 −0
Original line number Diff line number Diff line
@@ -178,6 +178,7 @@ static ERR_STRING_DATA ERR_str_functs[] = {
    {ERR_PACK(0, SYS_F_SETSOCKOPT, 0), "setsockopt"},
    {ERR_PACK(0, SYS_F_GETSOCKOPT, 0), "getsockopt"},
    {ERR_PACK(0, SYS_F_GETSOCKNAME, 0), "getsockname"},
    {ERR_PACK(0, SYS_F_GETHOSTBYNAME, 0), "gethostbyname"},
    {0, NULL},
};

+1 −0
Original line number Diff line number Diff line
@@ -262,6 +262,7 @@ typedef struct err_state_st {
# define SYS_F_SETSOCKOPT        14
# define SYS_F_GETSOCKOPT        15
# define SYS_F_GETSOCKNAME       16
# define SYS_F_GETHOSTBYNAME     17

/* reasons */
# define ERR_R_SYS_LIB   ERR_LIB_SYS/* 2 */