clear data buffer when querying LAMMPS for info, check return values, use symbolic constant

This commit is contained in:
Axel Kohlmeyer
2023-10-26 13:58:17 -04:00
parent 22c47a4e1b
commit b6b8884bc6
3 changed files with 16 additions and 11 deletions

View File

@ -424,12 +424,15 @@ void CodeEditor::setVarNameList()
LammpsWrapper *lammps = &qobject_cast<LammpsGui *>(parent())->lammps;
int nvar = lammps->id_count("variable");
char buffer[200];
constexpr int BUFLEN = 256;
char buffer[BUFLEN];
for (int i = 0; i < nvar; ++i) {
lammps->variable_info(i, buffer, 200);
if (strlen(buffer) == 1) vars << QString("$%1").arg(buffer);
vars << QString("${%1}").arg(buffer);
vars << QString("v_%1").arg(buffer);
memset(buffer, 0, BUFLEN);
if (lammps->variable_info(i, buffer, BUFLEN)) {
if (strlen(buffer) == 1) vars << QString("$%1").arg(buffer);
vars << QString("${%1}").arg(buffer);
vars << QString("v_%1").arg(buffer);
}
}
#if QT_VERSION < QT_VERSION_CHECK(5, 15, 0)