* dir.cc (readdir_worker): Minor code cleanup.

* fhandler_console.cc (beep): Use a more Windows-generic wav file if the beep
is missing.  Use a more foolproof way to find out whether we should be
recreating the missing key.
* registry.h (reg_key::_disposition): New field.
(reg_key::created): New function.
* registry.cc (reg_key::reg_key): Set _disposition to zero by default.
(reg_key::build_key): Fill in _disposition field.
This commit is contained in:
Christopher Faylor
2006-01-03 17:44:26 +00:00
parent 825d0b9385
commit adcff8d159
5 changed files with 85 additions and 62 deletions

View File

@ -1,6 +1,7 @@
/* fhandler_console.cc
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Red Hat, Inc.
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
2006 Red Hat, Inc.
This file is part of Cygwin.
@ -1416,11 +1417,17 @@ bad_escape:
static void
beep ()
{
char buf[4096];
reg_key r (HKEY_CURRENT_USER, KEY_ALL_ACCESS, "AppEvents", "Schemes", "Apps",
".Default", ".Default", ".current", NULL);
if (r.get_string ("", buf, sizeof (buf), "") != 0)
r.set_string ("", "Windows XP Ding.wav");
".Default", ".Default", ".Current", NULL);
if (r.created ())
{
char *buf = NULL;
UINT len = GetWindowsDirectory (buf, 0);
buf = (char *) alloca (len += sizeof ("\\media\\ding.wav"));
UINT res = GetWindowsDirectory (buf, len);
if (res && res <= len)
r.set_string ("", strcat (buf, "\\media\\ding.wav"));
}
MessageBeep (0xFFFFFFFF);
}