From a4878fe9271e2b31d9441d54e6dfb65e3ced9600 Mon Sep 17 00:00:00 2001 From: Mark Hammond Date: Tue, 22 Aug 2000 11:20:21 +0000 Subject: Registered modules could only exist in HKEY_LOCAL_MACHINE - now HKEY_CURRENT_USER can override. --- PC/import_nt.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'PC') diff --git a/PC/import_nt.c b/PC/import_nt.c index f0a27350b0..573106fd3f 100644 --- a/PC/import_nt.c +++ b/PC/import_nt.c @@ -34,7 +34,7 @@ FILE *PyWin_FindRegisteredModule(const char *moduleName, #endif struct filedescr *fdp = NULL; FILE *fp; - HKEY keyBase = HKEY_LOCAL_MACHINE; + HKEY keyBase = HKEY_CURRENT_USER; int modNameSize; long regStat; @@ -56,8 +56,17 @@ FILE *PyWin_FindRegisteredModule(const char *moduleName, modNameSize = pathLen; regStat = RegQueryValue(keyBase, moduleKey, pathBuf, &modNameSize); - if (regStat != ERROR_SUCCESS) - return NULL; + if (regStat != ERROR_SUCCESS) { + /* No user setting - lookup in machine settings */ + keyBase = HKEY_LOCAL_MACHINE; + /* be anal - failure may have reset size param */ + modNameSize = pathLen; + regStat = RegQueryValue(keyBase, moduleKey, + pathBuf, &modNameSize); + + if (regStat != ERROR_SUCCESS) + return NULL; + } /* use the file extension to locate the type entry. */ for (fdp = _PyImport_Filetab; fdp->suffix != NULL; fdp++) { size_t extLen = strlen(fdp->suffix); -- cgit v1.2.1