--- a/open-src/xserver/xorg/xf86OSRingBell.patch Thu Mar 25 21:43:39 2010 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-From 288f900fb1bc9763c614beea3200579cba2f7b7c Mon Sep 17 00:00:00 2001
-From: Alan Coopersmith <[email protected]>
-Date: Mon, 15 Feb 2010 11:25:28 -0800
-Subject: [PATCH] Solaris xf86OSRingBell() off-by-one error in filling iov[] array
-
-When generating sound buffers for /dev/audio bells, insert waveform
-for beep *or* silence, but not both, so we don't write one entry past
-the end of the iov buffer when the final bit of soundwave ends up in
-the final entry allocated in the iov array.
-
-Fixes OpenSolaris bug 6894890:
- http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6894890
-
-Signed-off-by: Alan Coopersmith <[email protected]>
----
- hw/xfree86/os-support/solaris/sun_bell.c | 5 +++--
- 1 files changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/hw/xfree86/os-support/solaris/sun_bell.c b/hw/xfree86/os-support/solaris/sun_bell.c
-index 7f146ea..05d1749 100644
---- a/hw/xfree86/os-support/solaris/sun_bell.c
-+++ b/hw/xfree86/os-support/solaris/sun_bell.c
-@@ -126,14 +126,15 @@ xf86OSRingBell(int loudness, int pitch, int duration)
- iovcnt = 0;
-
- for (cnt = 0; cnt <= repeats; cnt++) {
-- iov[iovcnt].iov_base = (char *) samples;
-- iov[iovcnt++].iov_len = sizeof(samples);
- if (cnt == repeats) {
- /* Insert a bit of silence so that multiple beeps are distinct and
- * not compressed into a single tone.
- */
- iov[iovcnt].iov_base = (char *) silence;
- iov[iovcnt++].iov_len = sizeof(silence);
-+ } else {
-+ iov[iovcnt].iov_base = (char *) samples;
-+ iov[iovcnt++].iov_len = sizeof(samples);
- }
- if ((iovcnt >= IOV_MAX) || (cnt == repeats)) {
- written = writev(audioFD, iov, iovcnt);
---
-1.5.6.5
-