ref: c17fa7ea253e18978aaaeb20e13cd379faa50590
parent: 7cce1bc863151b9a05a000f2b0b27f0fe4f641dc
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Fri Nov 22 17:47:28 EST 2024
libpcm: fix buggy use of clip macro (evaluates its arg twice)
--- a/sys/src/libpcm/conv.c
+++ b/sys/src/libpcm/conv.c
@@ -52,7 +52,15 @@
#define MAXINT ((int)(~0UL>>1))
#define MININT (MAXINT+1)
-#define clip(v) ((v) > MAXINT ? MAXINT : ((v) < MININT ? MININT : (v)))
+static int
+clip(vlong v)
+{
+ if(v > MAXINT)
+ return MAXINT;
+ if(v < MININT)
+ return MININT;
+ return v;
+}
static int
chaninit(Chan *c, int irate, int orate, int count, uintptr caller)
--
⑨