@@ -327,6 +327,10 @@ shutdown(how) -- shut down traffic in one or both directions\n\
327327// For if_nametoindex() and if_indextoname()
328328#include <iphlpapi.h>
329329
330+ #ifndef RPC_S_OK
331+ #define RPC_S_OK 0L
332+ #endif
333+
330334/* remove some flags on older version Windows during run-time.
331335 https://msdn.microsoft.com/en-us/library/windows/desktop/ms738596.aspx */
332336typedef struct {
@@ -631,14 +635,14 @@ _PyLong_##NAME##_Converter(PyObject *obj, void *ptr) \
631635 return 1; \
632636}
633637
634- #if defined(HAVE_IF_NAMEINDEX ) || defined(MS_WINDOWS )
638+ #if defined(HAVE_IF_NAMEINDEX ) || defined(MS_WINDOWS_DESKTOP )
635639# ifdef MS_WINDOWS
636640 UNSIGNED_INT_CONVERTER (NetIfindex , NET_IFINDEX )
637641# else
638642# define _PyLong_NetIfindex_Converter _PyLong_UnsignedInt_Converter
639643# define NET_IFINDEX unsigned int
640644# endif
641- #endif // defined(HAVE_IF_NAMEINDEX) || defined(MS_WINDOWS )
645+ #endif // defined(HAVE_IF_NAMEINDEX) || defined(MS_WINDOWS_DESKTOP )
642646
643647/*[python input]
644648class NET_IFINDEX_converter(CConverter):
@@ -5885,10 +5889,12 @@ socket_gethostname(PyObject *self, PyObject *unused)
58855889 Otherwise, gethostname apparently also returns the DNS name. */
58865890 wchar_t buf [MAX_COMPUTERNAME_LENGTH + 1 ];
58875891 DWORD size = Py_ARRAY_LENGTH (buf );
5888- wchar_t * name ;
5889- PyObject * result ;
58905892
5893+ #ifdef MS_WINDOWS_DESKTOP
58915894 if (GetComputerNameExW (ComputerNamePhysicalDnsHostname , buf , & size ))
5895+ #else
5896+ if (GetComputerNameW (buf , & size ))
5897+ #endif
58925898 return PyUnicode_FromWideChar (buf , size );
58935899
58945900 if (GetLastError () != ERROR_MORE_DATA )
@@ -5897,9 +5903,12 @@ socket_gethostname(PyObject *self, PyObject *unused)
58975903 if (size == 0 )
58985904 return Py_GetConstant (Py_CONSTANT_EMPTY_STR );
58995905
5906+ #ifndef MS_WINDOWS_DESKTOP
5907+ return NULL ;
5908+ #else
59005909 /* MSDN says ERROR_MORE_DATA may occur because DNS allows longer
59015910 names */
5902- name = PyMem_New (wchar_t , size );
5911+ wchar_t * name = PyMem_New (wchar_t , size );
59035912 if (!name ) {
59045913 PyErr_NoMemory ();
59055914 return NULL ;
@@ -5913,9 +5922,10 @@ socket_gethostname(PyObject *self, PyObject *unused)
59135922 return NULL ;
59145923 }
59155924
5916- result = PyUnicode_FromWideChar (name , size );
5925+ PyObject * result = PyUnicode_FromWideChar (name , size );
59175926 PyMem_Free (name );
59185927 return result ;
5928+ #endif
59195929#else
59205930 char buf [1024 ];
59215931 int res ;
@@ -7202,7 +7212,7 @@ Set the default timeout in seconds (real number) for new socket objects.\n\
72027212A value of None indicates that new socket objects have no timeout.\n\
72037213When the socket module is first imported, the default is None." );
72047214
7205- #if defined(HAVE_IF_NAMEINDEX ) || defined(MS_WINDOWS )
7215+ #if defined(HAVE_IF_NAMEINDEX ) || defined(MS_WINDOWS_DESKTOP )
72067216/* Python API for getting interface indices and names */
72077217
72087218static PyObject *
@@ -7343,7 +7353,7 @@ _socket_if_indextoname_impl(PyObject *module, NET_IFINDEX index)
73437353 return PyUnicode_DecodeFSDefault (name );
73447354}
73457355
7346- #endif // defined(HAVE_IF_NAMEINDEX) || defined(MS_WINDOWS )
7356+ #endif // defined(HAVE_IF_NAMEINDEX) || defined(MS_WINDOWS_DESKTOP )
73477357
73487358
73497359#ifdef CMSG_LEN
@@ -7479,7 +7489,7 @@ static PyMethodDef socket_methods[] = {
74797489 METH_NOARGS , getdefaulttimeout_doc },
74807490 {"setdefaulttimeout" , socket_setdefaulttimeout ,
74817491 METH_O , setdefaulttimeout_doc },
7482- #if defined(HAVE_IF_NAMEINDEX ) || defined (MS_WINDOWS )
7492+ #if defined(HAVE_IF_NAMEINDEX ) || defined (MS_WINDOWS_DESKTOP )
74837493 {"if_nameindex" , socket_if_nameindex ,
74847494 METH_NOARGS , if_nameindex_doc },
74857495 _SOCKET_IF_NAMETOINDEX_METHODDEF
@@ -9301,7 +9311,7 @@ socket_exec(PyObject *m)
93019311 }
93029312#endif
93039313
9304- #ifdef MS_WINDOWS
9314+ #ifdef MS_WINDOWS_DESKTOP
93059315 /* remove some flags on older version Windows during run-time */
93069316 if (remove_unusable_flags (m ) < 0 ) {
93079317 goto error ;
0 commit comments