diff --git a/SystemTools.cxx b/SystemTools.cxx index f3d0c6209eb395fdc4cbe4aa9689145f205d13b5..5c3e741643c04e99ab3de82454734a0dfa6e7cf8 100644 --- a/SystemTools.cxx +++ b/SystemTools.cxx @@ -492,11 +492,11 @@ void SystemTools::ReplaceString(kwsys_stl::string& source, #if defined(_WIN32) && !defined(__CYGWIN__) bool SystemTools::ReadRegistryValue(const char *key, kwsys_stl::string &value) { - + bool valueset = false; kwsys_stl::string primary = key; kwsys_stl::string second; kwsys_stl::string valuename; - + size_t start = primary.find("\\"); if (start == kwsys_stl::string::npos) { @@ -558,12 +558,24 @@ bool SystemTools::ReadRegistryValue(const char *key, kwsys_stl::string &value) if (dwType == REG_SZ) { value = data; - RegCloseKey(hKey); - return true; + valueset = true; + } + else if (dwType == REG_EXPAND_SZ) + { + char expanded[1024]; + DWORD dwExpandedSize = sizeof(expanded)/sizeof(expanded[0]); + if(ExpandEnvironmentStrings(data, expanded, dwExpandedSize)) + { + value = expanded; + valueset = true; + } } } + + RegCloseKey(hKey); } - return false; + + return valueset; } #else bool SystemTools::ReadRegistryValue(const char *, kwsys_stl::string &) diff --git a/kwsysDateStamp.cmake b/kwsysDateStamp.cmake index 161413d5c76d708602d69ef907807e60741fd636..84521761acda3a960f3a93d96290c237e0f34d9a 100644 --- a/kwsysDateStamp.cmake +++ b/kwsysDateStamp.cmake @@ -1,10 +1,10 @@ # Do not edit! Generated by kwsysDateStamp.py # KWSys version date year component. Format is CCYY. -SET(KWSYS_VERSION_DATE_YEAR 2007) +SET(KWSYS_DATE_STAMP_YEAR 2007) # KWSys version date month component. Format is MM. -SET(KWSYS_VERSION_DATE_MONTH 11) +SET(KWSYS_DATE_STAMP_MONTH 11) # KWSys version date day component. Format is DD. -SET(KWSYS_VERSION_DATE_DAY 12) +SET(KWSYS_DATE_STAMP_DAY 16)