diff --git a/phreeqcpp/Phreeqc.h b/phreeqcpp/Phreeqc.h index e1a30274..a77f5ee5 100644 --- a/phreeqcpp/Phreeqc.h +++ b/phreeqcpp/Phreeqc.h @@ -499,8 +499,8 @@ public: // pitzer.cpp ------------------------------- class pitz_param* pitz_param_read(char* string, int n); - void pitz_param_store(const class pitz_param* pzp_ptr); - void sit_param_store(const class pitz_param* pzp_ptr); + void pitz_param_store(class pitz_param* pzp_ptr); + void sit_param_store(class pitz_param* pzp_ptr); class pitz_param* pitz_param_copy(const class pitz_param* src); class theta_param* theta_param_search(LDBLE zj, LDBLE zk); void pitzer_make_lists(void); diff --git a/phreeqcpp/class_main.cpp b/phreeqcpp/class_main.cpp index 7fc4b8b7..16084f78 100644 --- a/phreeqcpp/class_main.cpp +++ b/phreeqcpp/class_main.cpp @@ -23,6 +23,7 @@ main(int argc, char *argv[]) // check for floating point exceptions on Linux // feenableexcept(FE_DIVBYZERO|FE_INVALID|FE_OVERFLOW|FE_UNDERFLOW); +//#define WIN32_MEMORY_DEBUG #if defined(WIN32_MEMORY_DEBUG) int tmpDbgFlag; diff --git a/phreeqcpp/pitzer_structures.cpp b/phreeqcpp/pitzer_structures.cpp index 141ca49f..6a5c6f30 100644 --- a/phreeqcpp/pitzer_structures.cpp +++ b/phreeqcpp/pitzer_structures.cpp @@ -66,7 +66,7 @@ pitz_param_read(char *string, int n) } /* ---------------------------------------------------------------------- */ void Phreeqc:: -pitz_param_store(const class pitz_param *pzp_ptr) +pitz_param_store(class pitz_param *pzp_ptr) /* ---------------------------------------------------------------------- */ { /* @@ -78,7 +78,6 @@ pitz_param_store(const class pitz_param *pzp_ptr) return; if (pzp_ptr->type == TYPE_Other) return; - class pitz_param* dest = pitz_param_copy(pzp_ptr); std::set< std::string > header; for (i = 0; i < 3; i++) { @@ -108,20 +107,20 @@ pitz_param_store(const class pitz_param *pzp_ptr) } warning_msg(error_string); delete pitz_params[(*jit).second]; - pitz_params[(*jit).second] = dest; + pitz_params[(*jit).second] = pzp_ptr; } else { size_t count_pitz_param = pitz_params.size(); pitz_params.resize(count_pitz_param + 1); - pitz_params[count_pitz_param] = pitz_param_copy(pzp_ptr); + pitz_params[count_pitz_param] = pzp_ptr; pitz_param_map[key] = count_pitz_param; } } /* ---------------------------------------------------------------------- */ void Phreeqc:: -sit_param_store(const class pitz_param *pzp_ptr) +sit_param_store(class pitz_param *pzp_ptr) /* ---------------------------------------------------------------------- */ { /* @@ -133,7 +132,6 @@ sit_param_store(const class pitz_param *pzp_ptr) return; if (pzp_ptr->type == TYPE_Other) return; - class pitz_param* dest = pitz_param_copy(pzp_ptr); std::set< std::string > header; for (i = 0; i < 3; i++) @@ -165,13 +163,13 @@ sit_param_store(const class pitz_param *pzp_ptr) } warning_msg(error_string); delete sit_params[(*jit).second]; - sit_params[(*jit).second] = dest; + sit_params[(*jit).second] = pzp_ptr; } else { size_t count_sit_param = sit_params.size(); sit_params.resize(count_sit_param + 1); - sit_params[count_sit_param] = dest; + sit_params[count_sit_param] = pzp_ptr; sit_param_map[key] = count_sit_param; } } diff --git a/phreeqcpp/structures.cpp b/phreeqcpp/structures.cpp index 78b88c25..61bfbe29 100644 --- a/phreeqcpp/structures.cpp +++ b/phreeqcpp/structures.cpp @@ -146,6 +146,7 @@ clean_up(void) /* user_print and user_punch */ UserPunch_map.clear(); rate_free(user_print); + delete user_print; /* Clear llnl aqueous model parameters */