diff --git a/src/LIB/SURCOUCHE/src/mode_field.f90 b/src/LIB/SURCOUCHE/src/mode_field.f90 index 326562a42b637fab2bd0889bed7b0960b192f98e..89d2b8d1653db69d8409aa5e73aa332ac771f0d8 100644 --- a/src/LIB/SURCOUCHE/src/mode_field.f90 +++ b/src/LIB/SURCOUCHE/src/mode_field.f90 @@ -3151,14 +3151,12 @@ END IF ! DO ICOUNT = ICOUNT + 1 - IF (TRIM(TFIELDLIST(IDX)%CMNHNAME)=='') THEN !Last entry - IDX = 1 - ELSE IF (TRIM(TFIELDLIST(IDX)%CMNHNAME)==TRIM(HMNHNAME)) THEN + IF (TRIM(TFIELDLIST(IDX)%CMNHNAME)==TRIM(HMNHNAME)) THEN KID = IDX EXIT - ELSE + ELSE IDX = IDX + 1 - IF (IDX>MAXFIELDS) IDX = 1 + IF ( IDX > nfields_used ) IDX = 1 END IF IF (IDX == IFIRSTGUESS) EXIT !All entries have been tested END DO @@ -3172,8 +3170,8 @@ IF (KID==0) THEN CALL PRINT_MSG(NVERB_DEBUG,'GEN','FIND_FIELD_ID_FROM_MNHNAME','field '//TRIM(HMNHNAME)//' not known (not unexpected)') END IF ELSE - IFIRSTGUESS = IDX+1 - IF (IFIRSTGUESS>MAXFIELDS) IFIRSTGUESS = 1 + IFIRSTGUESS = IDX + 1 + IF ( IFIRSTGUESS > nfields_used ) IFIRSTGUESS = 1 WRITE(YMSG,'( "field ",A16," found after ",I4," attempt(s)" )') TRIM(HMNHNAME),ICOUNT CALL PRINT_MSG(NVERB_DEBUG,'GEN','FIND_FIELD_ID_FROM_MNHNAME',TRIM(YMSG)) END IF