浏览代码

BUG: Remove warning and try to fix memory problem

Andy Cedilnik 20 年之前
父节点
当前提交
ec36660ca8
共有 1 个文件被更改,包括 6 次插入5 次删除
  1. 6 5
      Source/kwsys/Registry.cxx

+ 6 - 5
Source/kwsys/Registry.cxx

@@ -367,6 +367,11 @@ RegistryHelper::~RegistryHelper()
 bool RegistryHelper::Open(const char *toplevel, const char *subkey,
   int readonly)
 {  
+  this->EntriesMap.erase(
+    this->EntriesMap.begin(),
+    this->EntriesMap.end());
+  m_Empty = 1;
+
 #ifdef _WIN32
   if ( m_RegistryType == Registry::WIN32_REGISTRY)
     {
@@ -493,10 +498,6 @@ bool RegistryHelper::Close()
     {
     if ( !m_Changed )
       {
-      this->EntriesMap.erase(
-        this->EntriesMap.begin(),
-        this->EntriesMap.end());
-      m_Empty = 1;
       this->SetSubKey(0);
       return true;
       }
@@ -786,7 +787,7 @@ kwsys_stl::string RegistryHelper::DecodeValue(const char* str)
   kwsys_ios::ostringstream ostr;
   while ( *str )
     {
-    int val;
+    unsigned int val;
     switch ( *str )
       {
     case '%':