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,13 +424,16 @@ 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);
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)
QRegExp varcmd(QStringLiteral("^\\s*variable\\s+(\\S+)(\\s+|$)"));

View File

@ -215,9 +215,11 @@ ImageViewer::ImageViewer(const QString &fileName, LammpsWrapper *_lammps, QWidge
combo->setToolTip("Select group to display");
combo->setObjectName("group");
int ngroup = lammps->id_count("group");
char gname[64];
constexpr int BUFLEN = 256;
char gname[BUFLEN];
for (int i = 0; i < ngroup; ++i) {
lammps->id_name("group", i, gname, 64);
memset(gname, 0, BUFLEN);
lammps->id_name("group", i, gname, BUFLEN);
combo->addItem(gname);
}

View File

@ -58,7 +58,7 @@
#endif
static const QString blank(" ");
static constexpr int BUFLEN = 128;
static constexpr int BUFLEN = 256;
LammpsGui::LammpsGui(QWidget *parent, const char *filename) :
QMainWindow(parent), ui(new Ui::LammpsGui), highlighter(nullptr), capturer(nullptr),
@ -778,11 +778,11 @@ void LammpsGui::logupdate()
if (varwindow) {
int nvar = lammps.id_count("variable");
char buffer[200];
char buffer[BUFLEN];
QString varinfo("\n");
for (int i = 0; i < nvar; ++i) {
lammps.variable_info(i, buffer, 200);
varinfo += buffer;
memset(buffer, 0, BUFLEN);
if (lammps.variable_info(i, buffer, BUFLEN)) varinfo += buffer;
}
if (nvar == 0) varinfo += " (none) ";