Thu Sep 27 19:35:08 2018 UTC ()
cdparanoia: fix warnings with abs() on FreeBSD


(triaxx)
diff -r0 -r1.1 pkgsrc/audio/cdparanoia/patches/patch-paranoia_overlap.c

File Added: pkgsrc/audio/cdparanoia/patches/patch-paranoia_overlap.c
$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++;