From 378c5071bf8668c0a199ce53bcea915109f248f3 Mon Sep 17 00:00:00 2001
From: Axel Kohlmeyer <akohlmey@gmail.com>
Date: Mon, 12 Feb 2018 14:26:05 -0500
Subject: [PATCH] protect library interface from issuing lammps commands during
 run and minimize

---
 src/library.cpp | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/src/library.cpp b/src/library.cpp
index 8f87d6fab2..0544aa5a4a 100644
--- a/src/library.cpp
+++ b/src/library.cpp
@@ -203,7 +203,10 @@ void lammps_file(void *ptr, char *str)
 
   BEGIN_CAPTURE
   {
-    lmp->input->file(str);
+    if (lmp->update->whichflag != 0)
+      lmp->error->all(FLERR,"Library error: issuing LAMMPS command during run");
+    else
+      lmp->input->file(str);
   }
   END_CAPTURE
 }
@@ -221,7 +224,10 @@ char *lammps_command(void *ptr, char *str)
 
   BEGIN_CAPTURE
   {
-    result = lmp->input->one(str);
+    if (lmp->update->whichflag != 0)
+      lmp->error->all(FLERR,"Library error: issuing LAMMPS command during run");
+    else
+      result = lmp->input->one(str);
   }
   END_CAPTURE
 
@@ -270,6 +276,13 @@ void lammps_commands_string(void *ptr, char *str)
 {
   LAMMPS *lmp = (LAMMPS *) ptr;
 
+  BEGIN_CAPTURE
+  {
+    if (lmp->update->whichflag != 0)
+      lmp->error->all(FLERR,"Library error: issuing LAMMPS command during run");
+  }
+  END_CAPTURE
+
   // make copy of str so can strtok() it
 
   int n = strlen(str) + 1;
-- 
GitLab