diff --git a/CHANGELOG.md b/CHANGELOG.md index 6b9a8cd..c6abcde 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ packmol changelog Version 21.2.1-DEV -------------- +- ![INFO][badge-info] Avoid looping above `maxkeywords` in input file reading of radii. Version 21.2.0 -------------- diff --git a/app/packmol.f90 b/app/packmol.f90 index badbd67..2708318 100644 --- a/app/packmol.f90 +++ b/app/packmol.f90 @@ -417,8 +417,7 @@ program packmol stop exit_code_input_error end if ival = 2 - do - if (ival > maxkeywords) exit + do while(ival <= maxkeywords) read(keyword(iline_atoms,ival),*,iostat=ioerr) iat if ( ioerr /= 0 ) exit if ( iat > natoms(itype) ) then @@ -440,8 +439,7 @@ program packmol stop exit_code_input_error end if ival = 2 - do - if (ival > maxkeywords) exit + do while(ival <= maxkeywords) read(keyword(iline_atoms,ival),*,iostat=ioerr) iat if ( ioerr /= 0 ) exit if ( iat > natoms(itype) ) then @@ -463,8 +461,7 @@ program packmol stop exit_code_input_error end if ival = 2 - do - if (ival > maxkeywords) exit + do while(ival <= maxkeywords) read(keyword(iline_atoms,ival),*,iostat=ioerr) iat if ( ioerr /= 0 ) exit if ( iat > natoms(itype) ) then @@ -487,8 +484,7 @@ program packmol stop exit_code_input_error end if ival = 2 - do - if (ival > maxkeywords) exit + do while(ival <= maxkeywords) read(keyword(iline_atoms,ival),*,iostat=ioerr) iat if ( ioerr /= 0 ) exit if ( iat > natoms(itype) ) then