Squashed 'src/' changes from 2b17f7ca..279b8435

279b8435 [iphreeqc] Fixed for R

git-subtree-dir: src
git-subtree-split: 279b84357dd36426396d7916436c373d319d2082
This commit is contained in:
Darth Vader 2024-06-11 00:57:31 +00:00
parent ed24ec246b
commit 1ec7448cb0
2 changed files with 12 additions and 0 deletions

View File

@ -201,6 +201,10 @@ Serializer::Deserialize(Phreeqc &phreeqc_ref, Dictionary &dictionary, std::vecto
#if !defined(R_SO)
std::cerr << "Unknown pack type in deserialize " << type << std::endl;
exit(4);
#else
std::ostringstream oss;
oss << "Unknown pack type in deserialize " << type << std::endl;
phreeqc_ref.error_msg(oss.str().c_str(), STOP);
#endif
break;
}

View File

@ -199,13 +199,17 @@ strcpy_safe(char* dest, size_t max, const char* src)
{
if (dest == nullptr || src == nullptr)
{
#if !defined(R_SO)
std::cerr << "nullptr in Utilities::strcpy_safe." << std::endl;
#endif
throw;
}
lsrc = strlen(src);
if (lsrc + 1 > max)
{
#if !defined(R_SO)
std::cerr << "Buffer overrun in Utilities::strcpy_safe." << std::endl;
#endif
throw;
}
memcpy(dest, src, (lsrc + 1) * sizeof(char));
@ -224,14 +228,18 @@ strcat_safe(char* dest, size_t max, const char* src)
{
if (dest == nullptr || src == nullptr)
{
#if !defined(R_SO)
std::cerr << "nullptr in Utilities::strcat_safe." << std::endl;
#endif
throw;
}
lsrc = strlen(src);
ldest = strlen(dest);
if (ldest + lsrc + 1 > max)
{
#if !defined(R_SO)
std::cerr << "Buffer overrun in Utilities::strcat_safe." << std::endl;
#endif
throw;
}
memcpy(&dest[ldest], src, (lsrc + 1) * sizeof(char));