diff --git a/src/COMPRESS/dump_atom_gz.cpp b/src/COMPRESS/dump_atom_gz.cpp index fb605b74cee56bae62e53ab4f0251f7e612d3aa1..ef7e6583be5e28d1af258aa636fa6c509816bc47 100644 --- a/src/COMPRESS/dump_atom_gz.cpp +++ b/src/COMPRESS/dump_atom_gz.cpp @@ -71,6 +71,19 @@ void DumpAtomGZ::openfile() sprintf(filecurrent,pad,filestar,update->ntimestep,ptr+1); } *ptr = '*'; + if (maxfiles > 0) { + if (numfiles < maxfiles) { + nameslist[numfiles] = new char[strlen(filecurrent)+1]; + strcpy(nameslist[numfiles],filecurrent); + ++numfiles; + } else { + remove(nameslist[fileidx]); + delete[] nameslist[fileidx]; + nameslist[fileidx] = new char[strlen(filecurrent)+1]; + strcpy(nameslist[fileidx],filecurrent); + fileidx = (fileidx + 1) % maxfiles; + } + } } // each proc with filewriter = 1 opens a file diff --git a/src/COMPRESS/dump_cfg_gz.cpp b/src/COMPRESS/dump_cfg_gz.cpp index a1ffa92ec859958c616a310c7705c088f35114c0..aaeb878584b0cca77110b1a7bbef58d8de6f6cab 100644 --- a/src/COMPRESS/dump_cfg_gz.cpp +++ b/src/COMPRESS/dump_cfg_gz.cpp @@ -75,6 +75,19 @@ void DumpCFGGZ::openfile() sprintf(filecurrent,pad,filestar,update->ntimestep,ptr+1); } *ptr = '*'; + if (maxfiles > 0) { + if (numfiles < maxfiles) { + nameslist[numfiles] = new char[strlen(filecurrent)+1]; + strcpy(nameslist[numfiles],filecurrent); + ++numfiles; + } else { + remove(nameslist[fileidx]); + delete[] nameslist[fileidx]; + nameslist[fileidx] = new char[strlen(filecurrent)+1]; + strcpy(nameslist[fileidx],filecurrent); + fileidx = (fileidx + 1) % maxfiles; + } + } } // each proc with filewriter = 1 opens a file diff --git a/src/COMPRESS/dump_custom_gz.cpp b/src/COMPRESS/dump_custom_gz.cpp index 52d67445be0ca940fdafc3b08ef8ba9bb93c51ab..9c30f4742f92de2dcf92c2c4c2e22f28b9c1ca02 100644 --- a/src/COMPRESS/dump_custom_gz.cpp +++ b/src/COMPRESS/dump_custom_gz.cpp @@ -73,6 +73,19 @@ void DumpCustomGZ::openfile() sprintf(filecurrent,pad,filestar,update->ntimestep,ptr+1); } *ptr = '*'; + if (maxfiles > 0) { + if (numfiles < maxfiles) { + nameslist[numfiles] = new char[strlen(filecurrent)+1]; + strcpy(nameslist[numfiles],filecurrent); + ++numfiles; + } else { + remove(nameslist[fileidx]); + delete[] nameslist[fileidx]; + nameslist[fileidx] = new char[strlen(filecurrent)+1]; + strcpy(nameslist[fileidx],filecurrent); + fileidx = (fileidx + 1) % maxfiles; + } + } } // each proc with filewriter = 1 opens a file diff --git a/src/COMPRESS/dump_xyz_gz.cpp b/src/COMPRESS/dump_xyz_gz.cpp index 047ad8652f9587bdba8d306be030a357711ccc78..7be1a10fe2b15b19daa5f3b93d0659d75959922f 100644 --- a/src/COMPRESS/dump_xyz_gz.cpp +++ b/src/COMPRESS/dump_xyz_gz.cpp @@ -73,6 +73,19 @@ void DumpXYZGZ::openfile() sprintf(filecurrent,pad,filestar,update->ntimestep,ptr+1); } *ptr = '*'; + if (maxfiles > 0) { + if (numfiles < maxfiles) { + nameslist[numfiles] = new char[strlen(filecurrent)+1]; + strcpy(nameslist[numfiles],filecurrent); + ++numfiles; + } else { + remove(nameslist[fileidx]); + delete[] nameslist[fileidx]; + nameslist[fileidx] = new char[strlen(filecurrent)+1]; + strcpy(nameslist[fileidx],filecurrent); + fileidx = (fileidx + 1) % maxfiles; + } + } } // each proc with filewriter = 1 opens a file diff --git a/src/MPIIO/dump_atom_mpiio.cpp b/src/MPIIO/dump_atom_mpiio.cpp index 4422ef1cdfb5c16df75cdd8ff745d67a212d889d..f2f299144261d9d6035e49db8e1f30dedeea38ac 100644 --- a/src/MPIIO/dump_atom_mpiio.cpp +++ b/src/MPIIO/dump_atom_mpiio.cpp @@ -77,6 +77,19 @@ void DumpAtomMPIIO::openfile() sprintf(filecurrent,pad,filestar,update->ntimestep,ptr+1); } *ptr = '*'; + if (maxfiles > 0) { + if (numfiles < maxfiles) { + nameslist[numfiles] = new char[strlen(filecurrent)+1]; + strcpy(nameslist[numfiles],filecurrent); + ++numfiles; + } else { + remove(nameslist[fileidx]); + delete[] nameslist[fileidx]; + nameslist[fileidx] = new char[strlen(filecurrent)+1]; + strcpy(nameslist[fileidx],filecurrent); + fileidx = (fileidx + 1) % maxfiles; + } + } } if (append_flag) { // append open diff --git a/src/MPIIO/dump_cfg_mpiio.cpp b/src/MPIIO/dump_cfg_mpiio.cpp index 5086d1dc6cdf70cd93ad2f44760ca3c8795fc64b..09fd63bca5aedacaeb68299d9ec8a9260ef1de2b 100644 --- a/src/MPIIO/dump_cfg_mpiio.cpp +++ b/src/MPIIO/dump_cfg_mpiio.cpp @@ -96,6 +96,19 @@ void DumpCFGMPIIO::openfile() sprintf(filecurrent,pad,filestar,update->ntimestep,ptr+1); } *ptr = '*'; + if (maxfiles > 0) { + if (numfiles < maxfiles) { + nameslist[numfiles] = new char[strlen(filecurrent)+1]; + strcpy(nameslist[numfiles],filecurrent); + ++numfiles; + } else { + remove(nameslist[fileidx]); + delete[] nameslist[fileidx]; + nameslist[fileidx] = new char[strlen(filecurrent)+1]; + strcpy(nameslist[fileidx],filecurrent); + fileidx = (fileidx + 1) % maxfiles; + } + } } if (append_flag) { // append open diff --git a/src/MPIIO/dump_custom_mpiio.cpp b/src/MPIIO/dump_custom_mpiio.cpp index 2da6dd700d1348a15a96f68c14d6363b0a04ce14..ce981a7d1f253c525ab0576065b6dd431fc6ba42 100644 --- a/src/MPIIO/dump_custom_mpiio.cpp +++ b/src/MPIIO/dump_custom_mpiio.cpp @@ -98,6 +98,19 @@ void DumpCustomMPIIO::openfile() sprintf(filecurrent,pad,filestar,update->ntimestep,ptr+1); } *ptr = '*'; + if (maxfiles > 0) { + if (numfiles < maxfiles) { + nameslist[numfiles] = new char[strlen(filecurrent)+1]; + strcpy(nameslist[numfiles],filecurrent); + ++numfiles; + } else { + remove(nameslist[fileidx]); + delete[] nameslist[fileidx]; + nameslist[fileidx] = new char[strlen(filecurrent)+1]; + strcpy(nameslist[fileidx],filecurrent); + fileidx = (fileidx + 1) % maxfiles; + } + } } if (append_flag) { // append open diff --git a/src/MPIIO/dump_xyz_mpiio.cpp b/src/MPIIO/dump_xyz_mpiio.cpp index 4725efccd14b990d28ea7afe6991c40117f5d688..804832ec1ea8bc2b12bd7133f771be8a40819011 100644 --- a/src/MPIIO/dump_xyz_mpiio.cpp +++ b/src/MPIIO/dump_xyz_mpiio.cpp @@ -98,6 +98,19 @@ void DumpXYZMPIIO::openfile() sprintf(filecurrent,pad,filestar,update->ntimestep,ptr+1); } *ptr = '*'; + if (maxfiles > 0) { + if (numfiles < maxfiles) { + nameslist[numfiles] = new char[strlen(filecurrent)+1]; + strcpy(nameslist[numfiles],filecurrent); + ++numfiles; + } else { + remove(nameslist[fileidx]); + delete[] nameslist[fileidx]; + nameslist[fileidx] = new char[strlen(filecurrent)+1]; + strcpy(nameslist[fileidx],filecurrent); + fileidx = (fileidx + 1) % maxfiles; + } + } } if (append_flag) { // append open diff --git a/src/dump.cpp b/src/dump.cpp index ce9fc9a0a9f73d41a8099cf1c4891a9808ae3082..12b35c3395ea0fd2df3656e50dbd132b2e683eec 100644 --- a/src/dump.cpp +++ b/src/dump.cpp @@ -573,7 +573,7 @@ void Dump::openfile() strcpy(nameslist[fileidx],filecurrent); fileidx = (fileidx + 1) % maxfiles; } - } + } } // each proc with filewriter = 1 opens a file diff --git a/src/dump_custom.cpp b/src/dump_custom.cpp index 174fcd73c875ac04f308d612d81ce25835712f4e..47108e309e780386398fff9d2f6515b29a89dc8c 100644 --- a/src/dump_custom.cpp +++ b/src/dump_custom.cpp @@ -60,7 +60,7 @@ DumpCustom::DumpCustom(LAMMPS *lmp, int narg, char **arg) : earg(NULL), vtype(NULL), vformat(NULL), columns(NULL), choose(NULL), dchoose(NULL), clist(NULL), field2index(NULL), argindex(NULL), id_compute(NULL), compute(NULL), id_fix(NULL), fix(NULL), id_variable(NULL), variable(NULL), - vbuf(NULL), id_custom(NULL), flag_custom(NULL), typenames(NULL), + vbuf(NULL), id_custom(NULL), flag_custom(NULL), typenames(NULL), pack_choice(NULL) { if (narg == 5) error->all(FLERR,"No dump custom arguments specified"); @@ -1676,7 +1676,7 @@ int DumpCustom::modify_param(int narg, char **arg) if (strcmp(arg[0],"refresh") == 0) { if (narg < 2) error->all(FLERR,"Illegal dump_modify command"); - if (strncmp(arg[1],"c_",2) != 0) + if (strncmp(arg[1],"c_",2) != 0) error->all(FLERR,"Illegal dump_modify command"); if (refreshflag) error->all(FLERR,"Dump modify can only have one refresh");