From 637f5ce0fecddfb14d8f0b6a12d791fac469ad84 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Fri, 28 Jul 2000 22:33:43 +0000 Subject: * 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. --- winsup/cygwin/registry.cc | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'winsup/cygwin/registry.cc') diff --git a/winsup/cygwin/registry.cc b/winsup/cygwin/registry.cc index e4439663b..af543ba67 100644 --- a/winsup/cygwin/registry.cc +++ b/winsup/cygwin/registry.cc @@ -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) -- cgit v1.2.3