summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorPierre Bourdon <delroth@gmail.com>2016-03-07 13:49:26 +0100
committerPierre Bourdon <delroth@gmail.com>2016-03-07 13:49:26 +0100
commit370e91d4c028c7dbfe44d7416daddb0f85c76ff5 (patch)
tree2b500a97edc5e7088b979a86a4a6f5f553b29f20 /Source/Core
parent965d1236d2025a25c8e78ef97b3006f9eaf8219e (diff)
parent20f8b471a86be4b0cb3d3cf9a3531c4d2bd82180 (diff)
Merge pull request #3708 from ismail/miniupnpc-api-16
Fix build with MINIUPNPC_API_VERSION >= 16
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/Core/NetPlayServer.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/Source/Core/Core/NetPlayServer.cpp b/Source/Core/Core/NetPlayServer.cpp
index 51827a5076..07be5d5877 100644
--- a/Source/Core/Core/NetPlayServer.cpp
+++ b/Source/Core/Core/NetPlayServer.cpp
@@ -942,8 +942,14 @@ bool NetPlayServer::initUPnP()
for (const UPNPDev* dev : igds)
{
- char* descXML = (char*)miniwget(dev->descURL, &descXMLsize, 0);
- if (descXML)
+ char* descXML;
+ int statusCode = 200;
+#if MINIUPNPC_API_VERSION >= 16
+ descXML = (char*)miniwget(dev->descURL, &descXMLsize, 0, &statusCode);
+#else
+ descXML = (char*)miniwget(dev->descURL, &descXMLsize, 0);
+#endif
+ if (descXML && (statusCode == 200))
{
parserootdesc(descXML, descXMLsize, &m_upnp_data);
free(descXML);
@@ -955,6 +961,11 @@ bool NetPlayServer::initUPnP()
}
else
{
+ if (descXML)
+ {
+ free(descXML);
+ descXML = nullptr;
+ }
WARN_LOG(NETPLAY, "Error getting info from IGD at %s.", dev->descURL);
}
}