Module: wine Branch: master Commit: 3e87a054764f5d1aa99387767dd21be77c712c1f URL: http://source.winehq.org/git/wine.git/?a=commit;h=3e87a054764f5d1aa99387767d...
Author: Detlef Riekenberg wine.dev@web.de Date: Mon Aug 24 22:32:53 2009 +0200
ws2_32: Use only the lower 16 bit as level when calling [g|s]etsockopt from 16 bit.
---
dlls/ws2_32/socket16.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/dlls/ws2_32/socket16.c b/dlls/ws2_32/socket16.c index b4b3fe8..3cd500f 100644 --- a/dlls/ws2_32/socket16.c +++ b/dlls/ws2_32/socket16.c @@ -294,8 +294,9 @@ INT16 WINAPI getsockopt16(SOCKET16 s, INT16 level, INT16 optname, char *optval, INT optlen32; INT *p = &optlen32; INT retVal; + if( optlen ) optlen32 = *optlen; else p = NULL; - retVal = WS_getsockopt( s, level, optname, optval, p ); + retVal = WS_getsockopt( s, (WORD)level, optname, optval, p ); if( optlen ) *optlen = optlen32; return retVal; } @@ -397,7 +398,7 @@ INT16 WINAPI setsockopt16(SOCKET16 s, INT16 level, INT16 optname, char *optval, INT16 optlen) { if( !optval ) return SOCKET_ERROR; - return WS_setsockopt( s, level, optname, optval, optlen ); + return WS_setsockopt( s, (WORD)level, optname, optval, optlen ); }
/***********************************************************************