[JSPROXY] Sync with Wine Staging 4.18. CORE-16441
[reactos.git] / dll / win32 / jsproxy / main.c
index e58553f..54cb1be 100644 (file)
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
-#include "config.h"
-#include "wine/port.h"
-
 #include <stdarg.h>
-#include <sys/types.h>
-#ifdef HAVE_SYS_SOCKET_H
-# include <sys/socket.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-# include <netinet/in.h>
-#endif
-#ifdef HAVE_NETDB_H
-# include <netdb.h>
-#endif
 #ifdef __REACTOS__
+#include <stdio.h>
 #define COBJMACROS
 #endif
-#if defined(__MINGW32__) || defined (_MSC_VER)
-# include <ws2tcpip.h>
-#else
-# define closesocket close
-# define ioctlsocket ioctl
-#endif
+#include <sys/types.h>
 
 #include "windef.h"
 #include "winbase.h"
-#ifndef __MINGW32__
-#define USE_WS_PREFIX
-#endif
 #include "winsock2.h"
 #include "ws2ipdef.h"
+#include "ws2tcpip.h"
 #include "winnls.h"
 #include "wininet.h"
 #ifndef __REACTOS__
@@ -57,7 +38,6 @@
 #include "activscp.h"
 #include "wine/debug.h"
 #include "wine/heap.h"
-#include "wine/unicode.h"
 
 static HINSTANCE instance;
 
@@ -297,7 +277,7 @@ static HRESULT WINAPI dispex_GetNameSpaceParent(
 static HRESULT WINAPI dispex_GetDispID(
     IDispatchEx *iface, BSTR name, DWORD flags, DISPID *id )
 {
-    if (!strcmpW( name, dns_resolveW ))
+    if (!lstrcmpW( name, dns_resolveW ))
     {
         *id = DISPID_GLOBAL_DNSRESOLVE;
         return S_OK;
@@ -321,9 +301,9 @@ static char *get_computer_name( COMPUTER_NAME_FORMAT format )
     return ret;
 }
 
-static void printf_addr( const WCHAR *fmt, WCHAR *buf, struct sockaddr_in *addr )
+static void printf_addr( const WCHAR *fmt, WCHAR *buf, SIZE_T size, struct sockaddr_in *addr )
 {
-    sprintfW( buf, fmt,
+    swprintf( buf, fmt,
               (unsigned int)(ntohl( addr->sin_addr.s_addr ) >> 24 & 0xff),
               (unsigned int)(ntohl( addr->sin_addr.s_addr ) >> 16 & 0xff),
               (unsigned int)(ntohl( addr->sin_addr.s_addr ) >> 8 & 0xff),
@@ -332,7 +312,6 @@ static void printf_addr( const WCHAR *fmt, WCHAR *buf, struct sockaddr_in *addr
 
 static HRESULT dns_resolve( const WCHAR *hostname, VARIANT *result )
 {
-#ifdef HAVE_GETADDRINFO
         static const WCHAR fmtW[] = {'%','u','.','%','u','.','%','u','.','%','u',0};
         WCHAR addr[16];
         struct addrinfo *ai, *elem;
@@ -356,15 +335,11 @@ static HRESULT dns_resolve( const WCHAR *hostname, VARIANT *result )
             freeaddrinfo( ai );
             return S_FALSE;
         }
-        printf_addr( fmtW, addr, (struct sockaddr_in *)elem->ai_addr );
+        printf_addr( fmtW, addr, ARRAY_SIZE(addr), (struct sockaddr_in *)elem->ai_addr );
         freeaddrinfo( ai );
         V_VT( result ) = VT_BSTR;
         V_BSTR( result ) = SysAllocString( addr );
         return S_OK;
-#else
-        FIXME("getaddrinfo not found at build time\n");
-        return S_FALSE;
-#endif
 }
 
 static HRESULT WINAPI dispex_InvokeEx(
@@ -439,7 +414,7 @@ static HRESULT WINAPI site_GetItemInfo(
     IActiveScriptSite *iface, LPCOLESTR name, DWORD mask,
     IUnknown **item, ITypeInfo **type_info )
 {
-    if (!strcmpW( name, global_funcsW ) && mask == SCRIPTINFO_IUNKNOWN)
+    if (!lstrcmpW( name, global_funcsW ) && mask == SCRIPTINFO_IUNKNOWN)
     {
         *item = (IUnknown *)&global_dispex;
         return S_OK;
@@ -515,9 +490,9 @@ static BSTR include_pac_utils( const WCHAR *script )
     data = LoadResource( hmod, rsrc );
 
     len = MultiByteToWideChar( CP_ACP, 0, data, size, NULL, 0 );
-    if (!(ret = SysAllocStringLen( NULL, len + strlenW( script ) + 1 ))) return NULL;
+    if (!(ret = SysAllocStringLen( NULL, len + lstrlenW( script ) + 1 ))) return NULL;
     MultiByteToWideChar( CP_ACP, 0, data, size, ret, len );
-    strcpyW( ret + len, script );
+    lstrcpyW( ret + len, script );
     return ret;
 }