summaryrefslogtreecommitdiff
path: root/audio
diff options
context:
space:
mode:
authortriaxx <triaxx@pkgsrc.org>2018-09-27 19:35:08 +0000
committertriaxx <triaxx@pkgsrc.org>2018-09-27 19:35:08 +0000
commit785f60431abc93ff7d0735fc87cb23d9763f7f83 (patch)
treecdc776498e1c21ad17d18758197f13ff4b7347fd /audio
parent9109cdec2c5e016c4c900e15cd129e574788f4e7 (diff)
downloadpkgsrc-785f60431abc93ff7d0735fc87cb23d9763f7f83.tar.gz
cdparanoia: fix warnings with abs() on FreeBSD
Diffstat (limited to 'audio')
-rw-r--r--audio/cdparanoia/patches/patch-paranoia_overlap.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/audio/cdparanoia/patches/patch-paranoia_overlap.c b/audio/cdparanoia/patches/patch-paranoia_overlap.c
new file mode 100644
index 00000000000..097e1eadc63
--- /dev/null
+++ b/audio/cdparanoia/patches/patch-paranoia_overlap.c
@@ -0,0 +1,30 @@
+$NetBSD: patch-paranoia_overlap.c,v 1.1 2018/09/27 19:35:08 triaxx Exp $
+
+Fix lossy conversion with abs() on FreeBSD.
+
+--- paranoia/overlap.c.orig 2008-08-06 18:27:41.000000000 +0000
++++ paranoia/overlap.c
+@@ -107,7 +107,11 @@ void offset_adjust_settings(cdrom_parano
+ sector, frob it. We just want a little hysteresis [sp?]*/
+ long av=(p->stage2.offpoints?p->stage2.offaccum/p->stage2.offpoints:0);
+
++#if defined(__FreeBSD__)
++ if(labs(av)>p->dynoverlap/4){
++#else
+ if(abs(av)>p->dynoverlap/4){
++#endif
+ av=(av/MIN_SECTOR_EPSILON)*MIN_SECTOR_EPSILON;
+
+ if(callback)(*callback)(ce(p->root.vector),PARANOIA_CB_DRIFT);
+@@ -207,7 +211,11 @@ void offset_add_value(cdrom_paranoia *p,
+ if(o->offpoints!=-1){
+
+ /* Track the average magnitude of jitter (in either direction) */
++#if defined(__FreeBSD__)
++ o->offdiff+=labs(value);
++#else
+ o->offdiff+=abs(value);
++#endif
+ o->offpoints++;
+ o->newpoints++;
+