Fix sysbeep() for the case of pitch == 0, and garbage collect a useless

variable.
This commit is contained in:
mycroft 1995-08-13 04:06:29 +00:00
parent d2938e5ce1
commit c8e379015c
1 changed files with 8 additions and 3 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: clock.c,v 1.33 1995/06/28 04:30:51 cgd Exp $ */
/* $NetBSD: clock.c,v 1.34 1995/08/13 04:06:29 mycroft Exp $ */
/*-
* Copyright (c) 1993, 1994 Charles Hannum.
@ -258,10 +258,15 @@ void
sysbeep(pitch, period)
int pitch, period;
{
static int last_pitch, last_period;
static int last_pitch;
if (beeping)
untimeout(sysbeepstop, 0);
if (pitch == 0 || period == 0) {
sysbeepstop(0);
last_pitch = 0;
return;
}
if (!beeping || last_pitch != pitch) {
disable_intr();
outb(TIMER_MODE, TIMER_SEL2 | TIMER_16BIT | TIMER_SQWAVE);
@ -271,7 +276,7 @@ sysbeep(pitch, period)
enable_intr();
}
last_pitch = pitch;
beeping = last_period = period;
beeping = 1;
timeout(sysbeepstop, 0, period);
}