]> git.pld-linux.org Git - packages/aMule.git/commitdiff
- up to 2.3.3
authorJan Rękorajski <baggins@pld-linux.org>
Fri, 29 Sep 2023 10:58:09 +0000 (12:58 +0200)
committerJan Rękorajski <baggins@pld-linux.org>
Fri, 29 Sep 2023 10:58:09 +0000 (12:58 +0200)
aMule-ac.patch
aMule-cryptopp.patch [deleted file]
aMule-desktop.patch
aMule.spec
binutils-2.34.patch [deleted file]
libupnp-1.14.patch [deleted file]

index e365c9870db8ff22c87e9c93345dfc4779a5becb..ee6d7186db1b767147f6a6e388ddfed5b0335c06 100644 (file)
@@ -1,5 +1,16 @@
 --- aMule-2.3.2/m4/nls.m4.orig 2016-09-16 09:55:06.000000000 +0200
 +++ aMule-2.3.2/m4/nls.m4      2017-06-07 15:45:13.860893406 +0200
+@@ -30,10 +30,6 @@
+ AC_PREREQ(2.62)
+-# autoconf 2.70 introduced some incompatibilities that will make the build fail
+-# As a "workaround" reject 2.70 and above for now.
+-m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]), [2.70]), [-1],, [m4_fatal([autoconf ]m4_defn([AC_AUTOCONF_VERSION])[ is known to not work with aMule. Please use 2.69 instead.])])
+-
+ AC_CONFIG_SRCDIR([src/amule.cpp])
+ AC_CONFIG_HEADERS([config.h])
+ AC_CONFIG_MACRO_DIR([m4])
 @@ -85,7 +85,6 @@
        AM_GNU_GETTEXT([no-libtool], [need-ngettext])
        AS_IF([test $USE_INCLUDED_LIBINTL = yes], [INCINTL=-I\${top_builddir}/intl])
diff --git a/aMule-cryptopp.patch b/aMule-cryptopp.patch
deleted file mode 100644 (file)
index 29cefb7..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- aMule-2.3.2/src/ClientCreditsList.cpp.orig 2016-09-16 09:55:06.000000000 +0200
-+++ aMule-2.3.2/src/ClientCreditsList.cpp      2018-12-31 11:04:38.491753618 +0100
-@@ -312,7 +312,7 @@
-               // calculate and store public key
-               CryptoPP::RSASSA_PKCS1v15_SHA_Verifier pubkey(*static_cast<CryptoPP::RSASSA_PKCS1v15_SHA_Signer *>(m_pSignkey));
-               CryptoPP::ArraySink asink(m_abyMyPublicKey, 80);
--              pubkey.DEREncode(asink);
-+              pubkey.GetMaterial().Save(asink);
-               m_nMyPublicKeyLen = asink.TotalPutLength();
-               asink.MessageEnd();
-       } catch (const CryptoPP::Exception& e) {
index dbed1f1de77768fc973bf6af3d0d11d493e3c8c7..a2c3b951ecc31bdd225a3cefb6dcfda768af3df7 100644 (file)
@@ -1,17 +1,14 @@
 diff -urN aMule-2.1.3/amule.desktop aMule-2.1.3.new/amule.desktop
 --- aMule-2.1.3/amule.desktop  2005-12-14 05:12:44.000000000 +0100
 +++ aMule-2.1.3.new/amule.desktop      2006-06-17 13:52:51.000000000 +0200
-@@ -1,10 +1,12 @@
- [Desktop Entry]
- Name=aMule
-+Comment=Linux port of eMule client
-+Comment[pl]=Linuksowy port klienta eMule
- Exec=amule
+@@ -3,8 +3,9 @@
  Icon=amule
  Terminal=false
  Type=Application
 -Categories=Network;P2P;
 +Categories=GTK;Network;P2P;
  Comment=A client for the eD2k network
++Comment[pl]=Klient sieci eD2k
  Comment[fr]=Un client pour le réseau eD2k
  Comment[tr]=eD2k ağı için istemci
+ Comment[zh_CN]=eD2k网络客户端
index c08526d42426209706bf3e3ed6cc5ae8f5496503..d4588e2105aad18e0a549f02ba48931b6ac46ba6 100644 (file)
@@ -4,18 +4,15 @@
 Summary:       Unix port of eMule client
 Summary(pl.UTF-8):     Uniksowy port klienta eMule
 Name:          aMule
-Version:       2.3.2
-Release:       22
+Version:       2.3.3
+Release:       1
 License:       GPL v2+
 Group:         X11/Applications
 Source0:       http://downloads.sourceforge.net/amule/%{name}-%{version}.tar.bz2
-# Source0-md5: 4516bde73327e6153c140cef59375f38
+# Source0-md5: d74947f4c35bbea71369f6c112b9f0b8
 Patch0:                %{name}-desktop.patch
 Patch1:                %{name}-cas-datadir.patch
 Patch2:                %{name}-ac.patch
-Patch3:                %{name}-cryptopp.patch
-Patch4:                binutils-2.34.patch
-Patch5:                libupnp-1.14.patch
 URL:           http://www.amule.org/
 BuildRequires: GeoIP-devel
 BuildRequires: autoconf >= 2.59
@@ -29,13 +26,13 @@ BuildRequires:      expat-devel
 BuildRequires: flex
 BuildRequires: gd-devel >= 2.0.0
 BuildRequires: gettext-tools >= 0.11.5
-BuildRequires: gtk+2-devel >= 2:2.2.0
+BuildRequires: gtk+3-devel
 BuildRequires: libpng-devel >= 1.2.0
 BuildRequires: libstdc++-devel
 BuildRequires: libupnp-devel >= 1.6.6
 BuildRequires: pkgconfig >= 1:0.9.0
 BuildRequires: readline-devel
-BuildRequires: wxGTK2-unicode-devel >= 2.8.12
+BuildRequires: wxGTK3-unicode-devel >= 2.8.12
 BuildRequires: xorg-lib-libXpm-devel
 BuildRequires: zlib-devel >= 1.1.4
 Requires:      cryptopp >= 5.1
@@ -97,9 +94,6 @@ Narzędzie do generownia statystyk aMule.
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
-%patch3 -p1
-%patch4 -p1
-%patch5 -p1
 
 %build
 %{__aclocal} -I m4
@@ -110,7 +104,7 @@ export CXXFLAGS="%{rpmcxxflags} -std=gnu++14"
 %configure \
        --with-denoise-level=1                          \
        --with-libpng-config=/usr/bin/libpng-config     \
-       --with-wx-config=wx-gtk2-unicode-config         \
+       --with-wx-config=wx-gtk3-unicode-config         \
        --enable-alc                                    \
        --enable-alcc                                   \
        --enable-amulecmd                               \
diff --git a/binutils-2.34.patch b/binutils-2.34.patch
deleted file mode 100644 (file)
index 8519c71..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
---- aMule-2.3.2/src/libs/common/MuleDebug.cpp.orig     2016-09-16 09:55:07.000000000 +0200
-+++ aMule-2.3.2/src/libs/common/MuleDebug.cpp  2020-03-23 18:00:45.013375544 +0100
-@@ -268,14 +268,14 @@
-               return;
-       }
--      bfd_vma vma = bfd_get_section_vma(abfd, section);
-+      bfd_vma vma = bfd_section_vma(section);
-       unsigned long address = (unsigned long)_address;
-       if (address < vma) {
-               return;
-       }
--      bfd_size_type size = bfd_section_size(abfd, section);
-+      bfd_size_type size = bfd_section_size(section);
-       if (address > (vma + size)) {
-               return;
-       }
diff --git a/libupnp-1.14.patch b/libupnp-1.14.patch
deleted file mode 100644 (file)
index 2d70733..0000000
+++ /dev/null
@@ -1,353 +0,0 @@
-From f6dccde218fed8dabd3c61efce02d29b320858fe Mon Sep 17 00:00:00 2001
-From: Marcelo Roberto Jimenez <marcelo.jimenez@gmail.com>
-Date: Tue, 2 Oct 2018 18:17:43 -0300
-Subject: [PATCH] Make aMule compatible with libupnp 1.8
-
----
- src/UPnPBase.cpp | 110 +++++++++++++++++++++++++++--------------------
- src/UPnPBase.h   |   6 +--
- 2 files changed, 66 insertions(+), 50 deletions(-)
-
-diff --git a/src/UPnPBase.cpp b/src/UPnPBase.cpp
-index 01a7c3a05..d4063a136 100644
---- a/src/UPnPBase.cpp
-+++ b/src/UPnPBase.cpp
-@@ -1127,7 +1127,7 @@ bool CUPnPControlPoint::PrivateDeletePortMapping(
- // This function is static
--int CUPnPControlPoint::Callback(Upnp_EventType EventType, void *Event, void * /*Cookie*/)
-+int CUPnPControlPoint::Callback(Upnp_EventType_e EventType, const void *Event, void * /*Cookie*/)
- {
-       std::ostringstream msg;
-       std::ostringstream msg2;
-@@ -1149,24 +1149,25 @@ int CUPnPControlPoint::Callback(Upnp_EventType EventType, void *Event, void * /*
-               msg2<< "UPNP_DISCOVERY_SEARCH_RESULT: ";
-               // UPnP Discovery
- upnpDiscovery:
--              struct Upnp_Discovery *d_event = (struct Upnp_Discovery *)Event;
-+              UpnpDiscovery *d_event = (UpnpDiscovery *)Event;
-               IXML_Document *doc = NULL;
--              int ret;
--              if (d_event->ErrCode != UPNP_E_SUCCESS) {
--                      msg << UpnpGetErrorMessage(d_event->ErrCode) << ".";
-+              int errCode = UpnpDiscovery_get_ErrCode(d_event);
-+              if (errCode != UPNP_E_SUCCESS) {
-+                      msg << UpnpGetErrorMessage(errCode) << ".";
-                       AddDebugLogLineC(logUPnP, msg);
-               }
-               // Get the XML tree device description in doc
--              ret = UpnpDownloadXmlDoc(d_event->Location, &doc);
-+              const char *location = UpnpDiscovery_get_Location_cstr(d_event);
-+              int ret = UpnpDownloadXmlDoc(location, &doc);
-               if (ret != UPNP_E_SUCCESS) {
-                       msg << "Error retrieving device description from " <<
--                              d_event->Location << ": " <<
-+                              location << ": " <<
-                               UpnpGetErrorMessage(ret) <<
-                               "(" << ret << ").";
-                       AddDebugLogLineC(logUPnP, msg);
-               } else {
-                       msg2 << "Retrieving device description from " <<
--                              d_event->Location << ".";
-+                              location << ".";
-                       AddDebugLogLineN(logUPnP, msg2);
-               }
-               if (doc) {
-@@ -1194,8 +1195,9 @@ int CUPnPControlPoint::Callback(Upnp_EventType EventType, void *Event, void * /*
-                                       AddDebugLogLineC(logUPnP, msg);
-                               }
-                               // Add the root device to our list
-+                              int expires = UpnpDiscovery_get_Expires(d_event);
-                               upnpCP->AddRootDevice(rootDevice, urlBase,
--                                      d_event->Location, d_event->Expires);
-+                                      location, expires);
-                       }
-                       // Free the XML doc tree
-                       IXML::Document::Free(doc);
-@@ -1216,28 +1218,35 @@ int CUPnPControlPoint::Callback(Upnp_EventType EventType, void *Event, void * /*
-       case UPNP_DISCOVERY_ADVERTISEMENT_BYEBYE: {
-               //fprintf(stderr, "Callback: UPNP_DISCOVERY_ADVERTISEMENT_BYEBYE\n");
-               // UPnP Device Removed
--              struct Upnp_Discovery *dab_event = (struct Upnp_Discovery *)Event;
--              if (dab_event->ErrCode != UPNP_E_SUCCESS) {
-+              UpnpDiscovery *dab_event = (UpnpDiscovery *)Event;
-+              int errCode = UpnpDiscovery_get_ErrCode(dab_event);
-+              if (errCode != UPNP_E_SUCCESS) {
-                       msg << "error(UPNP_DISCOVERY_ADVERTISEMENT_BYEBYE): " <<
--                              UpnpGetErrorMessage(dab_event->ErrCode) <<
-+                              UpnpGetErrorMessage(errCode) <<
-                               ".";
-                       AddDebugLogLineC(logUPnP, msg);
-               }
--              std::string devType = dab_event->DeviceType;
-+              std::string devType = UpnpDiscovery_get_DeviceType_cstr(dab_event);
-               // Check for an InternetGatewayDevice and removes it from the list
--              std::transform(devType.begin(), devType.end(), devType.begin(), tolower);
-+              std::transform(devType.begin(), devType.end(),
-+                      devType.begin(), tolower);
-               if (stdStringIsEqualCI(devType, UPnP::Device::IGW)) {
--                      upnpCP->RemoveRootDevice(dab_event->DeviceId);
-+                      const char *deviceID =
-+                              UpnpDiscovery_get_DeviceID_cstr(dab_event);
-+                      upnpCP->RemoveRootDevice(deviceID);
-               }
-               break;
-       }
-       case UPNP_EVENT_RECEIVED: {
-               //fprintf(stderr, "Callback: UPNP_EVENT_RECEIVED\n");
-               // Event reveived
--              struct Upnp_Event *e_event = (struct Upnp_Event *)Event;
--              const std::string Sid = e_event->Sid;
-+              UpnpEvent *e_event = (UpnpEvent *)Event;
-+              int eventKey = UpnpEvent_get_EventKey(e_event);
-+              IXML_Document *changedVariables =
-+                      UpnpEvent_get_ChangedVariables(e_event);
-+              const std::string sid = UpnpEvent_get_SID_cstr(e_event);
-               // Parses the event
--              upnpCP->OnEventReceived(Sid, e_event->EventKey, e_event->ChangedVariables);
-+              upnpCP->OnEventReceived(sid, eventKey, changedVariables);
-               break;
-       }
-       case UPNP_EVENT_SUBSCRIBE_COMPLETE:
-@@ -1252,24 +1261,23 @@ int CUPnPControlPoint::Callback(Upnp_EventType EventType, void *Event, void * /*
-               //fprintf(stderr, "Callback: UPNP_EVENT_RENEWAL_COMPLETE\n");
-               msg << "error(UPNP_EVENT_RENEWAL_COMPLETE): ";
- upnpEventRenewalComplete:
--              struct Upnp_Event_Subscribe *es_event =
--                      (struct Upnp_Event_Subscribe *)Event;
--              if (es_event->ErrCode != UPNP_E_SUCCESS) {
-+              UpnpEventSubscribe *es_event = (UpnpEventSubscribe *)Event;
-+              int errCode = UpnpEventSubscribe_get_ErrCode(es_event);
-+              if (errCode != UPNP_E_SUCCESS) {
-                       msg << "Error in Event Subscribe Callback";
--                      UPnP::ProcessErrorMessage(
--                              msg.str(), es_event->ErrCode, NULL, NULL);
-+                      UPnP::ProcessErrorMessage(msg.str(), errCode, NULL, NULL);
-               } else {
- #if 0
-+                      const UpnpString *publisherUrl =
-+                              UpnpEventSubscribe_get_PublisherUrl(es_event);
-+                      const char *sid = UpnpEvent_get_SID_cstr(es_event);
-+                      int timeOut = UpnpEvent_get_TimeOut(es_event);
-                       TvCtrlPointHandleSubscribeUpdate(
--                              GET_UPNP_STRING(es_event->PublisherUrl),
--                              es_event->Sid,
--                              es_event->TimeOut );
-+                              publisherUrl, sid, timeOut);
- #endif
-               }
--
-               break;
-       }
--
-       case UPNP_EVENT_AUTORENEWAL_FAILED:
-               //fprintf(stderr, "Callback: UPNP_EVENT_AUTORENEWAL_FAILED\n");
-               msg << "error(UPNP_EVENT_AUTORENEWAL_FAILED): ";
-@@ -1280,29 +1288,31 @@ int CUPnPControlPoint::Callback(Upnp_EventType EventType, void *Event, void * /*
-               msg << "error(UPNP_EVENT_SUBSCRIPTION_EXPIRED): ";
-               msg2 << "UPNP_EVENT_SUBSCRIPTION_EXPIRED: ";
- upnpEventSubscriptionExpired:
--              struct Upnp_Event_Subscribe *es_event =
--                      (struct Upnp_Event_Subscribe *)Event;
-+              UpnpEventSubscribe *es_event = (UpnpEventSubscribe *)Event;
-               Upnp_SID newSID;
-               memset(newSID, 0, sizeof(Upnp_SID));
-               int TimeOut = 1801;
-+              const char *publisherUrl =
-+                      UpnpEventSubscribe_get_PublisherUrl_cstr(es_event);
-               int ret = UpnpSubscribe(
-                       upnpCP->m_UPnPClientHandle,
--                      GET_UPNP_STRING(es_event->PublisherUrl),
-+                      publisherUrl,
-                       &TimeOut,
-                       newSID);
-               if (ret != UPNP_E_SUCCESS) {
-                       msg << "Error Subscribing to EventURL";
-+                      int errCode = UpnpEventSubscribe_get_ErrCode(es_event);
-                       UPnP::ProcessErrorMessage(
--                              msg.str(), es_event->ErrCode, NULL, NULL);
-+                              msg.str(), errCode, NULL, NULL);
-               } else {
-                       ServiceMap::iterator it =
--                              upnpCP->m_ServiceMap.find(GET_UPNP_STRING(es_event->PublisherUrl));
-+                              upnpCP->m_ServiceMap.find(publisherUrl);
-                       if (it != upnpCP->m_ServiceMap.end()) {
-                               CUPnPService &service = *(it->second);
-                               service.SetTimeout(TimeOut);
-                               service.SetSID(newSID);
-                               msg2 << "Re-subscribed to EventURL '" <<
--                                      GET_UPNP_STRING(es_event->PublisherUrl) <<
-+                                      publisherUrl <<
-                                       "' with SID == '" <<
-                                       newSID << "'.";
-                               AddDebugLogLineC(logUPnP, msg2);
-@@ -1321,17 +1331,19 @@ int CUPnPControlPoint::Callback(Upnp_EventType EventType, void *Event, void * /*
-       case UPNP_CONTROL_ACTION_COMPLETE: {
-               //fprintf(stderr, "Callback: UPNP_CONTROL_ACTION_COMPLETE\n");
-               // This is here if we choose to do this asynchronously
--              struct Upnp_Action_Complete *a_event =
--                      (struct Upnp_Action_Complete *)Event;
--              if (a_event->ErrCode != UPNP_E_SUCCESS) {
-+              UpnpActionComplete *a_event = (UpnpActionComplete *)Event;
-+              int errCode = UpnpActionComplete_get_ErrCode(a_event);
-+              IXML_Document *actionResult =
-+                      UpnpActionComplete_get_ActionResult(a_event);
-+              if (errCode != UPNP_E_SUCCESS) {
-                       UPnP::ProcessErrorMessage(
-                               "UpnpSendActionAsync",
--                              a_event->ErrCode, NULL,
--                              a_event->ActionResult);
-+                              errCode, NULL,
-+                              actionResult);
-               } else {
-                       // Check the response document
-                       UPnP::ProcessActionResponse(
--                              a_event->ActionResult,
-+                              actionResult,
-                               "<UpnpSendActionAsync>");
-               }
-               /* No need for any processing here, just print out results.
-@@ -1342,21 +1354,25 @@ int CUPnPControlPoint::Callback(Upnp_EventType EventType, void *Event, void * /*
-       case UPNP_CONTROL_GET_VAR_COMPLETE: {
-               //fprintf(stderr, "Callback: UPNP_CONTROL_GET_VAR_COMPLETE\n");
-               msg << "error(UPNP_CONTROL_GET_VAR_COMPLETE): ";
--              struct Upnp_State_Var_Complete *sv_event =
--                      (struct Upnp_State_Var_Complete *)Event;
--              if (sv_event->ErrCode != UPNP_E_SUCCESS) {
-+              UpnpStateVarComplete *sv_event = (UpnpStateVarComplete *)Event;
-+              int errCode = UpnpStateVarComplete_get_ErrCode(sv_event);
-+              if (errCode != UPNP_E_SUCCESS) {
-                       msg << "m_UpnpGetServiceVarStatusAsync";
-                       UPnP::ProcessErrorMessage(
--                              msg.str(), sv_event->ErrCode, NULL, NULL);
-+                              msg.str(), errCode, NULL, NULL);
-               } else {
- #if 0
-                       // Warning: The use of UpnpGetServiceVarStatus and
-                       // UpnpGetServiceVarStatusAsync is deprecated by the
-                       // UPnP forum.
-+                      const char *ctrlUrl =
-+                              UpnpStateVarComplete_get_CtrlUrl(sv_event);
-+                      const char *stateVarName =
-+                              UpnpStateVarComplete_get_StateVarName(sv_event);
-+                      const DOMString currentVal =
-+                              UpnpStateVarComplete_get_CurrentVal(sv_event);
-                       TvCtrlPointHandleGetVar(
--                              sv_event->CtrlUrl,
--                              sv_event->StateVarName,
--                              sv_event->CurrentVal );
-+                              ctrlUrl, stateVarName, currentVal);
- #endif
-               }
-               break;
-diff --git a/src/UPnPBase.h b/src/UPnPBase.h
-index 9eafbd143..92753b86a 100644
---- a/src/UPnPBase.h
-+++ b/src/UPnPBase.h
-@@ -489,9 +489,9 @@ class CUPnPControlPoint
-       // Callback function
-       static int Callback(
--              Upnp_EventType EventType,
--              void* Event,
--              void* Cookie);
-+              Upnp_EventType_e EventType,
-+              const void *Event,
-+              void *Cookie);
- private:
-       void OnEventReceived(
-From 8784480c79680df5c224d6886a8b4cd3dc1d1801 Mon Sep 17 00:00:00 2001
-From: Marcelo Roberto Jimenez <marcelo.jimenez@gmail.com>
-Date: Tue, 25 Aug 2020 18:41:58 -0300
-Subject: [PATCH] Fixes libupnp API breakage
-
-Fixes github issue #213: Problem compiling with libupnp 1.14.0
-
-UpnpInit() has long been deprecated and has been dropped in 1.14.0.
-
-Use UpnpInit2() instead.
----
- src/UPnPBase.cpp | 10 ++++------
- 2 files changed, 7 insertions(+), 6 deletions(-)
-
-diff --git a/src/UPnPBase.cpp b/src/UPnPBase.cpp
-index 46ac7451e..dd244e5b0 100644
---- a/src/UPnPBase.cpp
-+++ b/src/UPnPBase.cpp
-@@ -826,15 +826,13 @@ m_WanService(NULL)
-       // Start UPnP
-       int ret;
--      char *ipAddress = NULL;
--      unsigned short port = 0;
--      ret = UpnpInit(ipAddress, udpPort);
-+      ret = UpnpInit2(0, udpPort);
-       if (ret != UPNP_E_SUCCESS) {
--              msg << "error(UpnpInit): Error code ";
-+              msg << "error(UpnpInit2): Error code ";
-               goto error;
-       }
--      port = UpnpGetServerPort();
--      ipAddress = UpnpGetServerIpAddress();
-+      unsigned short port = UpnpGetServerPort();
-+      char *ipAddress = UpnpGetServerIpAddress();
-       msg << "bound to " << ipAddress << ":" <<
-               port << ".";
-       AddDebugLogLineN(logUPnP, msg);
-From f28e82b95ba5f1d65dbacda393bd0ccc4df03a53 Mon Sep 17 00:00:00 2001
-From: Marcelo Roberto Jimenez <marcelo.jimenez@gmail.com>
-Date: Wed, 26 Aug 2020 12:41:38 -0300
-Subject: [PATCH] Fix for compilation error with previous commit
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Somehow I did not get this error when compiling.
-
-UPnPBase.cpp: In constructor ‘CUPnPControlPoint::CUPnPControlPoint(short unsigned int)’:
-UPnPBase.cpp:880:1: error: jump to label ‘error’ [-fpermissive]
- error:
- ^~~~~
-UPnPBase.cpp:832:8: note:   from here
-   goto error;
-        ^~~~~
-UPnPBase.cpp:835:8: note:   crosses initialization of ‘char* ipAddress’
-  char *ipAddress = UpnpGetServerIpAddress();
-        ^~~~~~~~~
-UPnPBase.cpp:834:17: note:   crosses initialization of ‘short unsigned int port’
-  unsigned short port = UpnpGetServerPort();
-                 ^~~~
----
- src/UPnPBase.cpp | 10 ++++++++--
- 1 file changed, 8 insertions(+), 2 deletions(-)
-
-diff --git a/src/UPnPBase.cpp b/src/UPnPBase.cpp
-index dd244e5b0..2c2eadcf2 100644
---- a/src/UPnPBase.cpp
-+++ b/src/UPnPBase.cpp
-@@ -824,6 +824,12 @@ m_WanService(NULL)
-       // Null string at first
-       std::ostringstream msg;
-+      // Declare those here to avoid 
-+      // "jump to label ‘error’ [-fpermissive] crosses initialization
-+      // of ‘char* ipAddress’"
-+      unsigned short port;
-+      char *ipAddress;
-+
-       // Start UPnP
-       int ret;
-       ret = UpnpInit2(0, udpPort);
-@@ -831,8 +837,8 @@ m_WanService(NULL)
-               msg << "error(UpnpInit2): Error code ";
-               goto error;
-       }
--      unsigned short port = UpnpGetServerPort();
--      char *ipAddress = UpnpGetServerIpAddress();
-+      port = UpnpGetServerPort();
-+      ipAddress = UpnpGetServerIpAddress();
-       msg << "bound to " << ipAddress << ":" <<
-               port << ".";
-       AddDebugLogLineN(logUPnP, msg);
This page took 0.26936 seconds and 4 git commands to generate.