* dcrt0.cc (dummy_autoload): Add load statement for RegDeleteValueA.
* external.cc (get_cygdrive_prefixes): New function. (cygwin_internal): Add CW_GET_CYGDRIVE_PREFIXES case. * path.cc (mount_info::read_cygdrive_info_from_registry): Read system cygdrive prefix if user one is undefined. (mount_info::write_cygdrive_info_to_registry): Write cygdrive prefix to the appropriate registry hive. Overwrite in-memory copy of cygdrive, if appropriate. (mount_info::remove_cygdrive_info_from_registry): New method. (mount_info::get_cygdrive_prefixes): New method. (cygwin_umount): Remove cygdrive prefix, if appropriate. * registry.cc (reg_key::killvalue): New method. * shared.h (class reg_key): Add killvalue, remove_cygdrive_info_to_registry, and get_cygdrive_prefixes declarations. * include/sys/cygwin.h (cygwin_getinfo_types): Add CW_GET_CYGDRIVE_PREFIXES.
This commit is contained in:
@@ -171,6 +171,17 @@ reg_key::kill (const char *name)
|
||||
return RegDeleteKeyA (key, name);
|
||||
}
|
||||
|
||||
/* Delete the value specified by name of current key. Returns the error code
|
||||
from the RegDeleteValueA invocation. */
|
||||
|
||||
int
|
||||
reg_key::killvalue (const char *name)
|
||||
{
|
||||
if (key_is_invalid)
|
||||
return key_is_invalid;
|
||||
return RegDeleteValueA (key, name);
|
||||
}
|
||||
|
||||
reg_key::~reg_key ()
|
||||
{
|
||||
if (!key_is_invalid)
|
||||
|
Reference in New Issue
Block a user