Changeset 3188 for branches/2011/DEV_r2739_STFC_dCSE
- Timestamp:
- 2011-11-28T18:13:00+01:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/EXTERNAL/XMLF90/src/sax/m_reader.f90
r2281 r3188 137 137 character(len=41) :: str ! 40 seems like a good compromise? 138 138 ! (1 extra for added newline, see below) 139 integer :: len 140 ! 141 read(unit=fb%lun,iostat=iostat,advance="no",size=len ,fmt="(a40)") str139 integer :: lenin 140 ! 141 read(unit=fb%lun,iostat=iostat,advance="no",size=lenin,fmt="(a40)") str 142 142 143 143 if (iostat == io_eof) then … … 156 156 ! 157 157 if (fb%debug) then 158 print *, "Buffer: len, iostat", len , iostat158 print *, "Buffer: len, iostat", lenin, iostat 159 159 print *, trim(str) 160 160 endif … … 166 166 ! Normal read, with more stuff left on the line 167 167 ! 168 fb%buffer = str(1:len )169 fb%nchars = len 168 fb%buffer = str(1:lenin) 169 fb%nchars = lenin 170 170 171 171 else ! (end of record) … … 173 173 ! End of record. We mark it with an LF, whatever it is the native marker. 174 174 ! 175 !! fb%buffer = str(1:len ) // char(10)176 fb%buffer = str(1:len ) !! Avoid allocation of string177 len = len + 1 !! by compiler178 fb%buffer(len :len) = char(10)179 fb%nchars = len 175 !! fb%buffer = str(1:lenin) // char(10) 176 fb%buffer = str(1:lenin) !! Avoid allocation of string 177 lenin = lenin + 1 !! by compiler 178 fb%buffer(lenin:lenin) = char(10) 179 fb%nchars = lenin 180 180 iostat = 0 181 181 endif
Note: See TracChangeset
for help on using the changeset viewer.