aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjbeich <jbeich@FreeBSD.org>2017-02-02 04:22:34 +0800
committerjbeich <jbeich@FreeBSD.org>2017-02-02 04:22:34 +0800
commitde1e60e9b736ae122df860bd404de6d1cf3f1a08 (patch)
tree7791189f79d8a20019d636a7f3d919ab0891c7aa
parent5041f18b2c08d6b302ef604f8bf2a14de8fdd9f2 (diff)
downloadfreebsd-ports-gnome-de1e60e9b736ae122df860bd404de6d1cf3f1a08.tar.gz
freebsd-ports-gnome-de1e60e9b736ae122df860bd404de6d1cf3f1a08.tar.zst
freebsd-ports-gnome-de1e60e9b736ae122df860bd404de6d1cf3f1a08.zip
net-p2p/bnbt: unbreak with libc++ 3.9
base64.cpp:129:13: error: assigning to 'char *' from incompatible type 'const char *' if ((b = strchr(s, pPad[0])) != NULL) // Only one, two or three equal... ^ ~~~~~~~~~~~~~~~~~~ Reported by: pkg-fallout
-rw-r--r--net-p2p/bnbt/Makefile2
-rw-r--r--net-p2p/bnbt/files/patch-base64.cpp26
2 files changed, 27 insertions, 1 deletions
diff --git a/net-p2p/bnbt/Makefile b/net-p2p/bnbt/Makefile
index bc71c2b9f2fe..bb52172ecbfa 100644
--- a/net-p2p/bnbt/Makefile
+++ b/net-p2p/bnbt/Makefile
@@ -3,7 +3,7 @@
PORTNAME= bnbt
PORTVERSION= 8.5
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= net-p2p
MASTER_SITES= http://opensource.depthstrike.com/${PORTNAME}/
DISTNAME= ${SNAPSHOT}-${PORTNAME}${PORTVERSION:C/\.//}-src
diff --git a/net-p2p/bnbt/files/patch-base64.cpp b/net-p2p/bnbt/files/patch-base64.cpp
new file mode 100644
index 000000000000..51948c46fa82
--- /dev/null
+++ b/net-p2p/bnbt/files/patch-base64.cpp
@@ -0,0 +1,26 @@
+--- base64.cpp.orig 2017-02-01 19:29:59 UTC
++++ base64.cpp
+@@ -114,6 +114,7 @@ uchar pBase64[] = {
+ char *b64decode(const char *s)
+ {
+ int l = strlen(s); // Get length of Base64 string.
++ const char *p; // Separator position
+ char *b; // Decoding buffer pointers.
+ uchar c = 0; // Character to decode.
+ int x = 0; // General purpose integers.
+@@ -126,12 +127,12 @@ char *b64decode(const char *s)
+ if (l % 4) // If it's not modulo 4, then it...
+ return b64isnot(NULL); // ...can't be a Base64 string.
+
+- if ((b = strchr(s, pPad[0])) != NULL) // Only one, two or three equal...
++ if ((p = strchr(s, pPad[0])) != NULL) // Only one, two or three equal...
+ { // ...'=' signs are allowed at...
+- if ((b - s) < (l - 3)) // ...the end of the Base64 string.
++ if ((p - s) < (l - 3)) // ...the end of the Base64 string.
+ return b64isnot(NULL); // Any other equal '=' signs are...
+ else // ...invalid.
+- if (strncmp(b, (const char *) pPad + 3 - (s + l - b), s + l - b))
++ if (strncmp(p, (const char *) pPad + 3 - (s + l - p), s + l - p))
+ return b64isnot(NULL);
+ }
+