add convenience function to get the output of strerror(errno) as c++ string

This commit is contained in:
Axel Kohlmeyer 2020-06-04 12:01:02 -04:00
parent 75e4cff44a
commit 47888b587a
No known key found for this signature in database
GPG Key ID: D9B44E93BF0C375A
2 changed files with 17 additions and 0 deletions

View File

@ -14,6 +14,7 @@
#include "utils.h"
#include <cstring>
#include <cstdlib>
#include <cerrno>
#include "lammps.h"
#include "error.h"
#include "tokenizer.h"
@ -99,6 +100,14 @@ void utils::logmesg(LAMMPS *lmp, const std::string &mesg)
if (lmp->logfile) fputs(mesg.c_str(), lmp->logfile);
}
/* define this here, so we won't have to include the headers
everywhere and utils.h will more likely be included anyway. */
std::string utils::getsyserror()
{
return std::string(strerror(errno));
}
/** \brief try to detect pathname from FILE pointer. Currently only supported on Linux, otherwise will report "(unknown)".
*
* \param buf storage buffer for pathname. output will be truncated if not large enough

View File

@ -43,6 +43,14 @@ namespace LAMMPS_NS {
*/
void logmesg(LAMMPS *lmp, const std::string &mesg);
/** \brief return a string representing the current system error status
*
* This is a wrapper around calling strerror(errno).
*
* \return error string
*/
std::string getsyserror();
/** \brief safe wrapper around fgets() which aborts on errors
* or EOF and prints a suitable error message to help debugging
*