diff --git a/src/input.cpp b/src/input.cpp index 2a41cf5fc2..86afec6402 100644 --- a/src/input.cpp +++ b/src/input.cpp @@ -1728,13 +1728,9 @@ void Input::package() if (!modify->check_package("GPU")) error->all(FLERR,"Package gpu command without GPU package installed"); - char **fixarg = new char*[2+narg]; - fixarg[0] = (char *) "package_gpu"; - fixarg[1] = (char *) "all"; - fixarg[2] = (char *) "GPU"; - for (int i = 1; i < narg; i++) fixarg[i+2] = arg[i]; - modify->add_fix(2+narg,fixarg); - delete [] fixarg; + std::string fixcmd = "package_gpu all GPU"; + for (int i = 1; i < narg; i++) fixcmd += std::string(" ") + arg[i]; + modify->add_fix(fixcmd); } else if (strcmp(arg[0],"kokkos") == 0) { if (lmp->kokkos == NULL || lmp->kokkos->kokkos_exists == 0) @@ -1747,26 +1743,18 @@ void Input::package() error->all(FLERR, "Package omp command without USER-OMP package installed"); - char **fixarg = new char*[2+narg]; - fixarg[0] = (char *) "package_omp"; - fixarg[1] = (char *) "all"; - fixarg[2] = (char *) "OMP"; - for (int i = 1; i < narg; i++) fixarg[i+2] = arg[i]; - modify->add_fix(2+narg,fixarg); - delete [] fixarg; + std::string fixcmd = "package_omp all OMP"; + for (int i = 1; i < narg; i++) fixcmd += std::string(" ") + arg[i]; + modify->add_fix(fixcmd); } else if (strcmp(arg[0],"intel") == 0) { if (!modify->check_package("INTEL")) error->all(FLERR, "Package intel command without USER-INTEL package installed"); - char **fixarg = new char*[2+narg]; - fixarg[0] = (char *) "package_intel"; - fixarg[1] = (char *) "all"; - fixarg[2] = (char *) "INTEL"; - for (int i = 1; i < narg; i++) fixarg[i+2] = arg[i]; - modify->add_fix(2+narg,fixarg); - delete [] fixarg; + std::string fixcmd = "package_intel all INTEL"; + for (int i = 1; i < narg; i++) fixcmd += std::string(" ") + arg[i]; + modify->add_fix(fixcmd); } else error->all(FLERR,"Illegal package command"); }