Skip to content

Commit 7db7180

Browse files
committed
Update strings.f90
Updated all functions that return a string to initialize the string with an empty literal (i.e. strout=""). TravisCI build testing only supports GNU Fortran and testing with Intel Compilers locally are causing failures.
1 parent 90c41db commit 7db7180

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

strings.f90

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ function str_replace(str,old,new) result(strout)
3939
work(:)=.false.
4040
len_old=len_trim(old)
4141
len_new=len_trim(new)
42+
strout=""
4243
do i=1,len_trim(str)
4344
if(work(i))cycle
4445
if(str(i:i+(len_old-1)).eq.old)then
@@ -62,6 +63,7 @@ function str_upper(str) result(strout)
6263
character(len=*), intent(in) :: str
6364
character(len=:), allocatable :: strout
6465
integer :: i
66+
strout=""
6567
do i=1,len_trim(str)
6668
if(iachar(str(i:i)).ge.97.and.iachar(str(i:i)).le.122)then
6769
strout=strout//achar(iachar(str(i:i))-32)
@@ -82,6 +84,7 @@ function str_lower(str) result(strout)
8284
character(len=*), intent(in) :: str
8385
character(len=:), allocatable :: strout
8486
integer :: i
87+
strout=""
8588
do i=1,len_trim(str)
8689
if(iachar(str(i:i)).ge.65.and.iachar(str(i:i)).le.90)then
8790
strout=strout//achar(iachar(str(i:i))+32)
@@ -111,6 +114,7 @@ function str_split(str,delim,col) result(strout)
111114
integer :: i,cnt,lastpos
112115
cnt=0
113116
lastpos=0
117+
strout=""
114118
if(col.le.0.or.col.gt.(str_count(str,delim)+1).or.str_count(str,delim).eq.0)then
115119
strout=str
116120
return
@@ -153,6 +157,7 @@ function str_uniq(str,delim) result(strout)
153157
strlen=len(ctemp)
154158
ndelims=str_count(ctemp,delim)
155159
ncols=ndelims+1
160+
strout=""
156161
do n=1,ncols
157162
col=str_split(ctemp,delim,n)
158163
if(n.eq.1)then
@@ -189,6 +194,7 @@ function str_zfill(str,width) result(strout)
189194
character(len=*), intent(in) :: str
190195
integer, intent(in) :: width
191196
character(len=:), allocatable :: strout
197+
strout=""
192198
if(width.le.len_trim(str))then
193199
strout=str
194200
else
@@ -213,6 +219,7 @@ function str_center(str,width,fillchar) result(strout)
213219
character(len=:), allocatable :: strout
214220
character(len=1) :: local_fillchar
215221
local_fillchar=" "
222+
strout=""
216223
if(present(fillchar))local_fillchar=fillchar
217224
if(width.le.len_trim(str))then
218225
strout=str
@@ -236,6 +243,7 @@ function str_reverse(str) result(strout)
236243
character(len=*), intent(in) :: str
237244
character(len=:), allocatable :: strout
238245
integer :: i
246+
strout=""
239247
do i=len(str),1,-1
240248
strout=strout//str(i:i)
241249
end do

0 commit comments

Comments
 (0)