aboutsummaryrefslogtreecommitdiff
path: root/winsup/cygwin/registry.cc
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2000-07-28 22:33:43 +0000
committerChristopher Faylor <me@cgf.cx>2000-07-28 22:33:43 +0000
commit637f5ce0fecddfb14d8f0b6a12d791fac469ad84 (patch)
treeaabe47852e7f5721f2ebd2e2acf39ced3489d8e7 /winsup/cygwin/registry.cc
parentc84b63e9614dd96d031174ceaa189e070d5f76a3 (diff)
downloadnewlib-637f5ce0fecddfb14d8f0b6a12d791fac469ad84.zip
newlib-637f5ce0fecddfb14d8f0b6a12d791fac469ad84.tar.gz
newlib-637f5ce0fecddfb14d8f0b6a12d791fac469ad84.tar.bz2
* 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.
Diffstat (limited to 'winsup/cygwin/registry.cc')
-rw-r--r--winsup/cygwin/registry.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/winsup/cygwin/registry.cc b/winsup/cygwin/registry.cc
index e443966..af543ba 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)