aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordanfe <danfe@FreeBSD.org>2015-04-01 16:56:15 +0800
committerdanfe <danfe@FreeBSD.org>2015-04-01 16:56:15 +0800
commit76626f95260b511133205c425db8ecc453ceb2b3 (patch)
tree4aec1d411a39156171654f6bda85ec08582b47f0
parent3b2dc5b9952dbd1b2a2da3dd71b517744a39f533 (diff)
downloadfreebsd-ports-gnome-76626f95260b511133205c425db8ecc453ceb2b3.tar.gz
freebsd-ports-gnome-76626f95260b511133205c425db8ecc453ceb2b3.tar.zst
freebsd-ports-gnome-76626f95260b511133205c425db8ecc453ceb2b3.zip
Fix a known bug: shntool fails to determine correct size/length of very large
files (possibly 64-bit related). Transfer maintainership to multimedia@ team. Obtained from: https://github.com/flacon/shntool/commit/4c6fc2e
-rw-r--r--audio/shntool/Makefile3
-rw-r--r--audio/shntool/files/patch-src_core__fileio.c15
2 files changed, 17 insertions, 1 deletions
diff --git a/audio/shntool/Makefile b/audio/shntool/Makefile
index 49718f6a02e7..04c62ef842e6 100644
--- a/audio/shntool/Makefile
+++ b/audio/shntool/Makefile
@@ -3,10 +3,11 @@
PORTNAME= shntool
PORTVERSION= 3.0.10
+PORTREVISION= 1
CATEGORIES= audio
MASTER_SITES= http://www.etree.org/shnutils/shntool/dist/src/
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= multimedia@FreeBSD.org
COMMENT= Multi-purpose WAVE data processing and reporting utility
GNU_CONFIGURE= yes
diff --git a/audio/shntool/files/patch-src_core__fileio.c b/audio/shntool/files/patch-src_core__fileio.c
new file mode 100644
index 000000000000..98f6e6e115ee
--- /dev/null
+++ b/audio/shntool/files/patch-src_core__fileio.c
@@ -0,0 +1,15 @@
+--- src/core_fileio.c.orig 2009-03-11 17:18:01 UTC
++++ src/core_fileio.c
+@@ -110,10 +110,10 @@ bool read_value_long(FILE *file,unsigned
+ buf[4] = 0;
+
+ if (be_val)
+- *be_val = (buf[0] << 24) | (buf[1] << 16) | (buf[2] << 8) | buf[3];
++ *be_val = ((buf[0] << 24) | (buf[1] << 16) | (buf[2] << 8) | buf[3]) & 0xFFFFFFFF;
+
+ if (le_val)
+- *le_val = (buf[3] << 24) | (buf[2] << 16) | (buf[1] << 8) | buf[0];
++ *le_val = ((buf[3] << 24) | (buf[2] << 16) | (buf[1] << 8) | buf[0]) & 0xFFFFFFFF;
+
+ if (tag_val)
+ tagcpy(tag_val,buf);