From: Erik Faye-Lund Date: Mon, 19 Oct 2009 15:42:07 +0000 (+0200) Subject: mingw: wrap SSL_set_(w|r)fd to call _get_osfhandle X-Git-Tag: v1.6.6-rc0~40^2~3 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=514213bf72cb61725e42440aaf8dd53fa4c33a74;p=git.git mingw: wrap SSL_set_(w|r)fd to call _get_osfhandle SSL_set_fd (and friends) expects a OS file handle on Windows, not a file descriptor as on UNIX(-ish). This patch makes the Windows version of SSL_set_fd behave like the UNIX versions, by calling _get_osfhandle on it's input. Signed-off-by: Erik Faye-Lund Acked-by: Johannes Sixt Signed-off-by: Junio C Hamano --- diff --git a/compat/mingw.h b/compat/mingw.h index 5b5258bce..6907345f9 100644 --- a/compat/mingw.h +++ b/compat/mingw.h @@ -124,6 +124,27 @@ static inline int waitpid(pid_t pid, int *status, unsigned options) return -1; } +#ifndef NO_OPENSSL +#include +static inline int mingw_SSL_set_fd(SSL *ssl, int fd) +{ + return SSL_set_fd(ssl, _get_osfhandle(fd)); +} +#define SSL_set_fd mingw_SSL_set_fd + +static inline int mingw_SSL_set_rfd(SSL *ssl, int fd) +{ + return SSL_set_rfd(ssl, _get_osfhandle(fd)); +} +#define SSL_set_rfd mingw_SSL_set_rfd + +static inline int mingw_SSL_set_wfd(SSL *ssl, int fd) +{ + return SSL_set_wfd(ssl, _get_osfhandle(fd)); +} +#define SSL_set_wfd mingw_SSL_set_wfd +#endif + /* * implementations of missing functions */