diff options
author | danfe <danfe@FreeBSD.org> | 2015-04-01 16:56:15 +0800 |
---|---|---|
committer | danfe <danfe@FreeBSD.org> | 2015-04-01 16:56:15 +0800 |
commit | 76626f95260b511133205c425db8ecc453ceb2b3 (patch) | |
tree | 4aec1d411a39156171654f6bda85ec08582b47f0 | |
parent | 3b2dc5b9952dbd1b2a2da3dd71b517744a39f533 (diff) | |
download | freebsd-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/Makefile | 3 | ||||
-rw-r--r-- | audio/shntool/files/patch-src_core__fileio.c | 15 |
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); |