diff --git a/httplib.h b/httplib.h index a07511d..483e1a7 100644 --- a/httplib.h +++ b/httplib.h @@ -173,10 +173,10 @@ inline bool read_and_close_socket(socket_t sock, T callback) { FILE* fp_read; FILE* fp_write; + #ifdef _MSC_VER - int osfhandle = _open_osfhandle(sock, _O_RDONLY); - fp_read = _fdopen(osfhandle, "rb"); - fp_write = _fdopen(osfhandle, "wb"); + fp_read = _fdopen(_open_osfhandle(sock, _O_RDONLY), "rb"); + fp_write = _fdopen(_open_osfhandle(sock, _O_WRONLY), "wb"); #else fp_read = fdopen(sock, "rb"); fp_write = fdopen(sock, "wb"); @@ -184,12 +184,8 @@ inline bool read_and_close_socket(socket_t sock, T callback) auto ret = callback(fp_read, fp_write); -#ifdef _MSC_VER - sock = osfhandle; -#else fclose(fp_read); fclose(fp_write); -#endif return ret; }