make some more use of {fmt} in lammps.cpp

This commit is contained in:
Axel Kohlmeyer
2020-05-27 05:29:42 -04:00
parent dd61ac80f7
commit 1930a8fd00
3 changed files with 52 additions and 61 deletions

View File

@ -50,6 +50,7 @@
#include "error.h" #include "error.h"
#include "memory.h" #include "memory.h"
#include "utils.h" #include "utils.h"
#include "fmt/format.h"
#ifdef _WIN32 #ifdef _WIN32
#include <direct.h> #include <direct.h>
@ -275,11 +276,11 @@ void Input::file(const char *filename)
return command name to caller return command name to caller
------------------------------------------------------------------------- */ ------------------------------------------------------------------------- */
char *Input::one(const char *single) char *Input::one(const std::string &single)
{ {
int n = strlen(single) + 1; int n = single.size() + 1;
if (n > maxline) reallocate(line,maxline,n); if (n > maxline) reallocate(line,maxline,n);
strcpy(line,single); strcpy(line,single.c_str());
// echo the command unless scanning for label // echo the command unless scanning for label
@ -300,11 +301,8 @@ char *Input::one(const char *single)
// execute the command and return its name // execute the command and return its name
if (execute_command()) { if (execute_command())
char *str = new char[maxline+32]; error->all(FLERR,fmt::format("Unknown command: {}",line).c_str());
sprintf(str,"Unknown command: %s",line);
error->all(FLERR,str);
}
return command; return command;
} }

View File

@ -34,7 +34,7 @@ class Input : protected Pointers {
~Input(); ~Input();
void file(); // process all input void file(); // process all input
void file(const char *); // process an input script void file(const char *); // process an input script
char *one(const char *); // process a single command char *one(const std::string&); // process a single command
void substitute(char *&, char *&, int &, int &, int); void substitute(char *&, char *&, int &, int &, int);
// substitute for variables in a string // substitute for variables in a string
int expand_args(int, char **, int, char **&); // expand args due to wildcard int expand_args(int, char **, int, char **&); // expand args due to wildcard

View File

@ -456,62 +456,55 @@ LAMMPS::LAMMPS(int narg, char **arg, MPI_Comm communicator) :
MPI_Comm_split(universe->uworld,universe->iworld,0,&world); MPI_Comm_split(universe->uworld,universe->iworld,0,&world);
MPI_Comm_rank(world,&me); MPI_Comm_rank(world,&me);
if (me == 0) screen = logfile = infile = NULL;
if (partscreenflag == 0)
if (screenflag == 0) {
char str[32];
sprintf(str,"screen.%d",universe->iworld);
screen = fopen(str,"w");
if (screen == NULL) error->one(FLERR,"Cannot open screen file");
} else if (strcmp(arg[screenflag],"none") == 0)
screen = NULL;
else {
char str[128];
snprintf(str,128,"%s.%d",arg[screenflag],universe->iworld);
screen = fopen(str,"w");
if (screen == NULL) error->one(FLERR,"Cannot open screen file");
}
else if (strcmp(arg[partscreenflag],"none") == 0)
screen = NULL;
else {
char str[128];
snprintf(str,128,"%s.%d",arg[partscreenflag],universe->iworld);
screen = fopen(str,"w");
if (screen == NULL) error->one(FLERR,"Cannot open screen file");
} else screen = NULL;
if (me == 0)
if (partlogflag == 0)
if (logflag == 0) {
char str[32];
sprintf(str,"log.lammps.%d",universe->iworld);
logfile = fopen(str,"w");
if (logfile == NULL) error->one(FLERR,"Cannot open logfile");
} else if (strcmp(arg[logflag],"none") == 0)
logfile = NULL;
else {
char str[128];
snprintf(str,128,"%s.%d",arg[logflag],universe->iworld);
logfile = fopen(str,"w");
if (logfile == NULL) error->one(FLERR,"Cannot open logfile");
}
else if (strcmp(arg[partlogflag],"none") == 0)
logfile = NULL;
else {
char str[128];
snprintf(str,128,"%s.%d",arg[partlogflag],universe->iworld);
logfile = fopen(str,"w");
if (logfile == NULL) error->one(FLERR,"Cannot open logfile");
} else logfile = NULL;
if (me == 0) { if (me == 0) {
std::string str;
if (partscreenflag == 0) {
if (screenflag == 0) {
str = fmt::format("screen.{}",universe->iworld);
screen = fopen(str.c_str(),"w");
if (screen == NULL) error->one(FLERR,"Cannot open screen file");
} else if (strcmp(arg[screenflag],"none") == 0) {
screen = NULL;
} else {
str = fmt::format("{}.{}",arg[screenflag],universe->iworld);
screen = fopen(str.c_str(),"w");
if (screen == NULL) error->one(FLERR,"Cannot open screen file");
}
} else if (strcmp(arg[partscreenflag],"none") == 0) {
screen = NULL;
} else {
str = fmt::format("{}.{}",arg[partscreenflag],universe->iworld);
screen = fopen(str.c_str(),"w");
if (screen == NULL) error->one(FLERR,"Cannot open screen file");
}
if (partlogflag == 0) {
if (logflag == 0) {
str = fmt::format("log.lammps.{}",universe->iworld);
logfile = fopen(str.c_str(),"w");
if (logfile == NULL) error->one(FLERR,"Cannot open logfile");
} else if (strcmp(arg[logflag],"none") == 0) {
logfile = NULL;
} else {
str = fmt::format("{}.{}",arg[logflag],universe->iworld);
logfile = fopen(str.c_str(),"w");
if (logfile == NULL) error->one(FLERR,"Cannot open logfile");
}
} else if (strcmp(arg[partlogflag],"none") == 0) {
logfile = NULL;
} else {
str = fmt::format("{}.{}",arg[partlogflag],universe->iworld);
logfile = fopen(str.c_str(),"w");
if (logfile == NULL) error->one(FLERR,"Cannot open logfile");
}
infile = fopen(arg[inflag],"r"); infile = fopen(arg[inflag],"r");
if (infile == NULL) { if (infile == NULL) {
char str[128]; str = fmt::format("Cannot open input script {}",arg[inflag]);
snprintf(str,128,"Cannot open input script %s",arg[inflag]); error->one(FLERR,str.c_str());
error->one(FLERR,str);
} }
} else infile = NULL; }
// screen and logfile messages for universe and world // screen and logfile messages for universe and world