diff --git a/dlls/webservices/Makefile.in b/dlls/webservices/Makefile.in index b58714d3253..36eae4adf2e 100644 --- a/dlls/webservices/Makefile.in +++ b/dlls/webservices/Makefile.in @@ -2,6 +2,8 @@ MODULE = webservices.dll IMPORTLIB = webservices IMPORTS = winhttp rpcrt4 user32 ws2_32 +EXTRADLLFLAGS = -mno-cygwin + C_SRCS = \ channel.c \ error.c \ diff --git a/dlls/webservices/channel.c b/dlls/webservices/channel.c index 139e625a36a..4afa8848208 100644 --- a/dlls/webservices/channel.c +++ b/dlls/webservices/channel.c @@ -27,7 +27,6 @@ #include "wine/debug.h" #include "wine/heap.h" #include "wine/list.h" -#include "wine/unicode.h" #include "webservices_private.h" #include "sock.h" @@ -253,11 +252,9 @@ static struct channel *alloc_channel(void) InitializeCriticalSection( &ret->cs ); InitializeCriticalSection( &ret->send_q.cs ); InitializeCriticalSection( &ret->recv_q.cs ); -#ifndef __MINGW32__ ret->cs.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": channel.cs"); ret->send_q.cs.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": channel.send_q.cs"); ret->recv_q.cs.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": channel.recv_q.cs"); -#endif prop_init( channel_props, count, ret->prop, &ret[1] ); ret->prop_count = count; @@ -342,11 +339,9 @@ static void free_channel( struct channel *channel ) heap_free( channel->read_buf ); -#ifndef __MINGW32__ channel->send_q.cs.DebugInfo->Spare[0] = 0; channel->recv_q.cs.DebugInfo->Spare[0] = 0; channel->cs.DebugInfo->Spare[0] = 0; -#endif DeleteCriticalSection( &channel->send_q.cs ); DeleteCriticalSection( &channel->recv_q.cs ); DeleteCriticalSection( &channel->cs ); @@ -836,8 +831,8 @@ static HRESULT connect_channel_http( struct channel *channel ) } else { - strcpyW( channel->u.http.path, uc.lpszUrlPath ); - if (uc.dwExtraInfoLength) strcatW( channel->u.http.path, uc.lpszExtraInfo ); + lstrcpyW( channel->u.http.path, uc.lpszUrlPath ); + if (uc.dwExtraInfoLength) lstrcatW( channel->u.http.path, uc.lpszExtraInfo ); } channel->u.http.flags = WINHTTP_FLAG_REFRESH; diff --git a/dlls/webservices/error.c b/dlls/webservices/error.c index 03f71a6489f..34135851ecc 100644 --- a/dlls/webservices/error.c +++ b/dlls/webservices/error.c @@ -57,9 +57,7 @@ static struct error *alloc_error(void) ret->magic = ERROR_MAGIC; InitializeCriticalSection( &ret->cs ); -#ifndef __MINGW32__ ret->cs.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": error.cs"); -#endif prop_init( error_props, count, ret->prop, &ret[1] ); ret->prop_count = count; @@ -68,9 +66,7 @@ static struct error *alloc_error(void) static void free_error( struct error *error ) { -#ifndef __MINGW32__ error->cs.DebugInfo->Spare[0] = 0; -#endif DeleteCriticalSection( &error->cs ); heap_free( error ); } diff --git a/dlls/webservices/heap.c b/dlls/webservices/heap.c index 1e22a24b344..618a9c8729b 100644 --- a/dlls/webservices/heap.c +++ b/dlls/webservices/heap.c @@ -185,9 +185,7 @@ static struct heap *alloc_heap(void) ret->magic = HEAP_MAGIC; InitializeCriticalSection( &ret->cs ); -#ifndef __MINGW32__ ret->cs.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": heap.cs"); -#endif prop_init( heap_props, count, ret->prop, &ret[1] ); ret->prop_count = count; @@ -247,9 +245,7 @@ void WINAPI WsFreeHeap( WS_HEAP *handle ) LeaveCriticalSection( &heap->cs ); -#ifndef __MINGW32__ heap->cs.DebugInfo->Spare[0] = 0; -#endif DeleteCriticalSection( &heap->cs ); heap_free( heap ); } diff --git a/dlls/webservices/listener.c b/dlls/webservices/listener.c index de1abb557ca..6801465f84c 100644 --- a/dlls/webservices/listener.c +++ b/dlls/webservices/listener.c @@ -25,7 +25,6 @@ #include "wine/debug.h" #include "wine/heap.h" #include "wine/list.h" -#include "wine/unicode.h" #include "webservices_private.h" #include "sock.h" @@ -139,9 +138,7 @@ static struct listener *alloc_listener(void) return NULL; } InitializeCriticalSection( &ret->cs ); -#ifndef __MINGW32__ ret->cs.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": listener.cs"); -#endif prop_init( listener_props, count, ret->prop, &ret[1] ); ret->prop_count = count; @@ -177,9 +174,7 @@ static void free_listener( struct listener *listener ) CloseHandle( listener->wait ); CloseHandle( listener->cancel ); -#ifndef __MINGW32__ listener->cs.DebugInfo->Spare[0] = 0; -#endif DeleteCriticalSection( &listener->cs ); heap_free( listener ); } @@ -296,7 +291,7 @@ HRESULT resolve_hostname( const WCHAR *host, USHORT port, struct sockaddr *addr, hints.ai_family = AF_INET; *addr_len = 0; - sprintfW( service, fmtW, port ); + swprintf( service, ARRAY_SIZE(service), fmtW, port ); if (GetAddrInfoW( host, service, &hints, &res )) return HRESULT_FROM_WIN32( WSAGetLastError() ); info = res; diff --git a/dlls/webservices/msg.c b/dlls/webservices/msg.c index 31c424b8f00..ed9394ef223 100644 --- a/dlls/webservices/msg.c +++ b/dlls/webservices/msg.c @@ -27,7 +27,6 @@ #include "wine/debug.h" #include "wine/heap.h" #include "wine/list.h" -#include "wine/unicode.h" #include "webservices_private.h" WINE_DEFAULT_DEBUG_CHANNEL(webservices); @@ -106,9 +105,7 @@ static struct msg *alloc_msg(void) ret->header_size = HEADER_ARRAY_SIZE; InitializeCriticalSection( &ret->cs ); -#ifndef __MINGW32__ ret->cs.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": msg.cs"); -#endif prop_init( msg_props, count, ret->prop, &ret[1] ); ret->prop_count = count; @@ -164,9 +161,7 @@ static void free_msg( struct msg *msg ) WsFreeHeap( msg->heap ); heap_free( msg->header ); -#ifndef __MINGW32__ msg->cs.DebugInfo->Spare[0] = 0; -#endif DeleteCriticalSection( &msg->cs ); heap_free( msg ); } @@ -1724,7 +1719,7 @@ HRESULT WINAPI WsRemoveCustomHeader( WS_MESSAGE *handle, const WS_XML_STRING *na static WCHAR *build_http_header( const WCHAR *name, const WCHAR *value, ULONG *ret_len ) { - int len_name = strlenW( name ), len_value = strlenW( value ); + int len_name = lstrlenW( name ), len_value = lstrlenW( value ); WCHAR *ret = heap_alloc( (len_name + len_value) * sizeof(WCHAR) ); if (!ret) return NULL; diff --git a/dlls/webservices/proxy.c b/dlls/webservices/proxy.c index 811aa8d9ae6..b07b3c7a264 100644 --- a/dlls/webservices/proxy.c +++ b/dlls/webservices/proxy.c @@ -63,9 +63,7 @@ static struct proxy *alloc_proxy(void) ret->magic = PROXY_MAGIC; InitializeCriticalSection( &ret->cs ); -#ifndef __MINGW32__ ret->cs.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": proxy.cs"); -#endif prop_init( proxy_props, count, ret->prop, &ret[1] ); ret->prop_count = count; @@ -83,9 +81,7 @@ static void free_proxy( struct proxy *proxy ) reset_proxy( proxy ); WsFreeChannel( proxy->channel ); -#ifndef __MINGW32__ proxy->cs.DebugInfo->Spare[0] = 0; -#endif DeleteCriticalSection( &proxy->cs ); heap_free( proxy ); } diff --git a/dlls/webservices/reader.c b/dlls/webservices/reader.c index b08eb87ed80..664bfbeb634 100644 --- a/dlls/webservices/reader.c +++ b/dlls/webservices/reader.c @@ -421,9 +421,7 @@ static struct reader *alloc_reader(void) ret->magic = READER_MAGIC; InitializeCriticalSection( &ret->cs ); -#ifndef __MINGW32__ ret->cs.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": reader.cs"); -#endif prop_init( reader_props, count, ret->prop, &ret[1] ); ret->prop_count = count; @@ -520,9 +518,7 @@ static void free_reader( struct reader *reader ) heap_free( reader->prefixes ); heap_free( reader->stream_buf ); -#ifndef __MINGW32__ reader->cs.DebugInfo->Spare[0] = 0; -#endif DeleteCriticalSection( &reader->cs ); heap_free( reader ); } diff --git a/dlls/webservices/url.c b/dlls/webservices/url.c index 1ffcc1315f0..8bd3d82660f 100644 --- a/dlls/webservices/url.c +++ b/dlls/webservices/url.c @@ -20,13 +20,13 @@ #include "windef.h" #include "winbase.h" +#include "winnls.h" #include "winuser.h" #include "webservices.h" #include "wine/debug.h" #include "wine/heap.h" #include "wine/list.h" -#include "wine/unicode.h" #include "webservices_private.h" WINE_DEFAULT_DEBUG_CHANNEL(webservices); @@ -39,19 +39,19 @@ static const WCHAR netpipe[] = {'n','e','t','.','p','i','p','e'}; static WS_URL_SCHEME_TYPE scheme_type( const WCHAR *str, ULONG len ) { - if (len == ARRAY_SIZE( http ) && !strncmpiW( str, http, ARRAY_SIZE( http ))) + if (len == ARRAY_SIZE( http ) && !wcsnicmp( str, http, ARRAY_SIZE( http ))) return WS_URL_HTTP_SCHEME_TYPE; - if (len == ARRAY_SIZE( https ) && !strncmpiW( str, https, ARRAY_SIZE( https ))) + if (len == ARRAY_SIZE( https ) && !wcsnicmp( str, https, ARRAY_SIZE( https ))) return WS_URL_HTTPS_SCHEME_TYPE; - if (len == ARRAY_SIZE( nettcp ) && !strncmpiW( str, nettcp, ARRAY_SIZE( nettcp ))) + if (len == ARRAY_SIZE( nettcp ) && !wcsnicmp( str, nettcp, ARRAY_SIZE( nettcp ))) return WS_URL_NETTCP_SCHEME_TYPE; - if (len == ARRAY_SIZE( soapudp ) && !strncmpiW( str, soapudp, ARRAY_SIZE( soapudp ))) + if (len == ARRAY_SIZE( soapudp ) && !wcsnicmp( str, soapudp, ARRAY_SIZE( soapudp ))) return WS_URL_SOAPUDP_SCHEME_TYPE; - if (len == ARRAY_SIZE( netpipe ) && !strncmpiW( str, netpipe, ARRAY_SIZE( netpipe ))) + if (len == ARRAY_SIZE( netpipe ) && !wcsnicmp( str, netpipe, ARRAY_SIZE( netpipe ))) return WS_URL_NETPIPE_SCHEME_TYPE; return ~0u; @@ -107,7 +107,7 @@ static WCHAR *url_decode( WCHAR *str, ULONG len, WS_HEAP *heap, ULONG *ret_len ) for (i = 0; i < len; i++, p++) { if ((len - i) < 3) break; - if (p[0] == '%' && isxdigitW( p[1] ) && isxdigitW( p[2] )) + if (p[0] == '%' && iswxdigit( p[1] ) && iswxdigit( p[2] )) { decode = TRUE; if (url_decode_byte( p[1], p[2] ) > 159) @@ -125,7 +125,7 @@ static WCHAR *url_decode( WCHAR *str, ULONG len, WS_HEAP *heap, ULONG *ret_len ) p = str; while (len) { - if (len >= 3 && p[0] == '%' && isxdigitW( p[1] ) && isxdigitW( p[2] )) + if (len >= 3 && p[0] == '%' && iswxdigit( p[1] ) && iswxdigit( p[2] )) { *q++ = url_decode_byte( p[1], p[2] ); p += 3; @@ -214,7 +214,7 @@ HRESULT WINAPI WsDecodeUrl( const WS_STRING *str, ULONG flags, WS_HEAP *heap, WS if (len && *q == ':') { p = ++q; len--; - while (len && isdigitW( *q )) + while (len && iswdigit( *q )) { if ((port = port * 10 + *q - '0') > 65535) goto done; q++; len--; @@ -481,7 +481,7 @@ HRESULT WINAPI WsEncodeUrl( const WS_URL *base, ULONG flags, WS_HEAP *heap, WS_S { q = url->portAsString.chars; len = url->portAsString.length; - while (len && isdigitW( *q )) + while (len && iswdigit( *q )) { if ((port = port * 10 + *q - '0') > 65535) { @@ -501,7 +501,7 @@ HRESULT WINAPI WsEncodeUrl( const WS_URL *base, ULONG flags, WS_HEAP *heap, WS_S if (port) { WCHAR buf[7]; - len = sprintfW( buf, fmtW, port ); + len = swprintf( buf, ARRAY_SIZE(buf), fmtW, port ); memcpy( p, buf, len * sizeof(WCHAR) ); p += len; } diff --git a/dlls/webservices/writer.c b/dlls/webservices/writer.c index 4f6cb601959..4d75e859d01 100644 --- a/dlls/webservices/writer.c +++ b/dlls/webservices/writer.c @@ -16,7 +16,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "config.h" #include #include #include @@ -24,13 +23,13 @@ #include "windef.h" #include "winbase.h" +#include "winnls.h" #include "winuser.h" #include "webservices.h" #include "wine/debug.h" #include "wine/heap.h" #include "wine/list.h" -#include "wine/unicode.h" #include "webservices_private.h" WINE_DEFAULT_DEBUG_CHANNEL(webservices); @@ -110,9 +109,7 @@ static struct writer *alloc_writer(void) ret->magic = WRITER_MAGIC; InitializeCriticalSection( &ret->cs ); -#ifndef __MINGW32__ ret->cs.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": writer.cs"); -#endif prop_init( writer_props, count, ret->prop, &ret[1] ); ret->prop_count = count; @@ -126,9 +123,7 @@ static void free_writer( struct writer *writer ) WsFreeHeap( writer->output_heap ); heap_free( writer->stream_buf ); -#ifndef __MINGW32__ writer->cs.DebugInfo->Spare[0] = 0; -#endif DeleteCriticalSection( &writer->cs ); heap_free( writer ); } @@ -905,10 +900,9 @@ static ULONG format_uint64( const UINT64 *ptr, unsigned char *buf ) static ULONG format_double( const double *ptr, unsigned char *buf ) { -#ifdef HAVE_POWL - static const long double precision = 0.0000000000000001; + static const double precision = 0.0000000000000001; unsigned char *p = buf; - long double val = *ptr; + double val = *ptr; int neg, mag, mag2, use_exp; if (isnan( val )) @@ -938,12 +932,12 @@ static ULONG format_double( const double *ptr, unsigned char *buf ) val = -val; } - mag = log10l( val ); + mag = log10( val ); use_exp = (mag >= 15 || (neg && mag >= 1) || mag <= -1); if (use_exp) { if (mag < 0) mag -= 1; - val = val / powl( 10.0, mag ); + val = val / pow( 10.0, mag ); mag2 = mag; mag = 0; } @@ -951,10 +945,10 @@ static ULONG format_double( const double *ptr, unsigned char *buf ) while (val > precision || mag >= 0) { - long double weight = powl( 10.0, mag ); + double weight = pow( 10.0, mag ); if (weight > 0 && !isinf( weight )) { - int digit = floorl( val / weight ); + int digit = floor( val / weight ); val -= digit * weight; *(p++) = '0' + digit; } @@ -988,10 +982,6 @@ static ULONG format_double( const double *ptr, unsigned char *buf ) } return p - buf; -#else - FIXME( "powl not found at build time\n" ); - return 0; -#endif } static inline int year_size( int year ) @@ -3505,7 +3495,7 @@ static HRESULT write_type_wsz( struct writer *writer, WS_TYPE_MAPPING mapping, if (!option || option == WS_WRITE_REQUIRED_VALUE || option == WS_WRITE_NILLABLE_VALUE) return E_INVALIDARG; if ((hr = get_value_ptr( option, value, size, 0, (const void **)&ptr )) != S_OK) return hr; if (option == WS_WRITE_NILLABLE_POINTER && !ptr) return write_add_nil_attribute( writer ); - if (!(len = strlenW( ptr ))) return S_OK; + if (!(len = lstrlenW( ptr ))) return S_OK; utf16.text.textType = WS_XML_TEXT_TYPE_UTF16; utf16.bytes = (BYTE *)ptr;