* 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:
@ -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);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user