Module Name: src
Committed By: nat
Date: Mon Jun 26 11:45:46 UTC 2017
Modified Files:
src/sys/dev: mulaw.c
Log Message:
Rectify an error in mulaw/alaw conversion to big endian. The atf audio
test should pass on sparc again.
To generate a diff of this commit:
cvs rdiff -u -r1.30 -r1.31 src/sys/dev/mulaw.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/mulaw.c
diff -u src/sys/dev/mulaw.c:1.30 src/sys/dev/mulaw.c:1.31
--- src/sys/dev/mulaw.c:1.30 Sun Jun 25 02:16:41 2017
+++ src/sys/dev/mulaw.c Mon Jun 26 11:45:46 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: mulaw.c,v 1.30 2017/06/25 02:16:41 nat Exp $ */
+/* $NetBSD: mulaw.c,v 1.31 2017/06/26 11:45:46 nat Exp $ */
/*
* Copyright (c) 1991-1993 Regents of the University of California.
@@ -35,7 +35,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: mulaw.c,v 1.30 2017/06/25 02:16:41 nat Exp $");
+__KERNEL_RCSID(0, "$NetBSD: mulaw.c,v 1.31 2017/06/26 11:45:46 nat Exp $");
#include <sys/types.h>
#include <sys/systm.h>
@@ -324,7 +324,7 @@ DEFINE_FILTER(mulaw_to_linear##n_prec)
j = hw - 2; \
d[0] = mulawtolin16[s[0]][0]; \
d[1] = mulawtolin16[s[0]][1]; \
- while (j < hw) \
+ while (j > 0 && j < hw) \
d[j++] = 0; \
} FILTER_LOOP_EPILOGUE(this->src, dst); \
break; \
@@ -342,7 +342,7 @@ DEFINE_FILTER(mulaw_to_linear##n_prec)
j = hw - 2; \
d[0] = mulawtolin16[s[0]][0] ^ 0x80; \
d[1] = mulawtolin16[s[0]][1]; \
- while (j < hw) \
+ while (j > 0 && j < hw) \
d[j++] = 0; \
} FILTER_LOOP_EPILOGUE(this->src, dst); \
break; \
@@ -459,7 +459,7 @@ DEFINE_FILTER(alaw_to_linear##n_prec)
j = hw - 2; \
d[0] = alawtolin16[s[0]][0]; \
d[1] = alawtolin16[s[0]][1]; \
- while (j < hw) \
+ while (j > 0 && j < hw) \
d[j++] = 0; \
} FILTER_LOOP_EPILOGUE(this->src, dst); \
break; \
@@ -477,7 +477,7 @@ DEFINE_FILTER(alaw_to_linear##n_prec)
j = hw - 2; \
d[0] = alawtolin16[s[0]][0] ^ 0x80; \
d[1] = alawtolin16[s[0]][1]; \
- while (j < hw) \
+ while (j > 0 && j < hw) \
d[j++] = 0; \
} FILTER_LOOP_EPILOGUE(this->src, dst); \
break; \