DeleteString Subroutine

private subroutine DeleteString(Str)

Remove string "Str" from list of strings witFirstString,h first element "DirstString" and delete string.

Arguments

Type IntentOptional Attributes Name
type(tString), intent(inout), POINTER :: Str

String to delete


Source Code

SUBROUTINE DeleteString(Str)
! MODULES
IMPLICIT NONE
!-----------------------------------------------------------------------------------------------------------------------------------
! INPUT VARIABLES
TYPE(tString),POINTER,INTENT(INOUT) :: Str         !! String to delete
!-----------------------------------------------------------------------------------------------------------------------------------
! OUTPUT VARIABLES
!-----------------------------------------------------------------------------------------------------------------------------------
! LOCAL VARIABLES
!===================================================================================================================================
IF (ASSOCIATED(Str%NextStr)) Str%NextStr%PrevStr=>Str%PrevStr
IF (ASSOCIATED(Str,FirstString)) THEN
  FirstString=>Str%NextStr
ELSE
  Str%PrevStr%NextStr=>Str%NextStr
END IF
#if (!defined(NVHPC))
DEALLOCATE(Str%Str)
#endif /* ONLY NVHPC COMPILER DOES NOT SEEM TO WORK WITH ALLOCATABLE CHARACTERS (SIGSEV!) */
DEALLOCATE(Str)
NULLIFY(Str)
END SUBROUTINE DeleteString