@@ -192,8 +192,15 @@ contains |
| 192 | else | 192 | else |
| 193 | cached_segment_paths(cached_segment_count) = trim(working_path) | 193 | cached_segment_paths(cached_segment_count) = trim(working_path) |
| 194 | end if | 194 | end if |
| 195 | - ! Extract just the name | 195 | + ! Extract just the name (remove any leading/trailing slashes) |
| 196 | - cached_segment_names(cached_segment_count) = trim(working_path(start_pos:)) | 196 | + cached_segment_names(cached_segment_count) = trim(adjustl(working_path(start_pos:))) |
| | 197 | + ! Remove leading slash if present |
| | 198 | + if (len_trim(cached_segment_names(cached_segment_count)) > 0) then |
| | 199 | + if (cached_segment_names(cached_segment_count)(1:1) == "/") then |
| | 200 | + cached_segment_names(cached_segment_count) = & |
| | 201 | + trim(cached_segment_names(cached_segment_count)(2:)) |
| | 202 | + end if |
| | 203 | + end if |
| 197 | print *, " Segment ", cached_segment_count, ": ", & | 204 | print *, " Segment ", cached_segment_count, ": ", & |
| 198 | trim(cached_segment_paths(cached_segment_count)), " -> ", & | 205 | trim(cached_segment_paths(cached_segment_count)), " -> ", & |
| 199 | trim(cached_segment_names(cached_segment_count)) | 206 | trim(cached_segment_names(cached_segment_count)) |
@@ -208,8 +215,15 @@ contains |
| 208 | else | 215 | else |
| 209 | cached_segment_paths(cached_segment_count) = trim(working_path(1:start_pos+slash_pos-2)) | 216 | cached_segment_paths(cached_segment_count) = trim(working_path(1:start_pos+slash_pos-2)) |
| 210 | end if | 217 | end if |
| 211 | - ! Extract just the name | 218 | + ! Extract just the name (remove any leading/trailing slashes) |
| 212 | - cached_segment_names(cached_segment_count) = trim(working_path(start_pos:start_pos+slash_pos-2)) | 219 | + cached_segment_names(cached_segment_count) = trim(adjustl(working_path(start_pos:start_pos+slash_pos-2))) |
| | 220 | + ! Remove leading slash if present |
| | 221 | + if (len_trim(cached_segment_names(cached_segment_count)) > 0) then |
| | 222 | + if (cached_segment_names(cached_segment_count)(1:1) == "/") then |
| | 223 | + cached_segment_names(cached_segment_count) = & |
| | 224 | + trim(cached_segment_names(cached_segment_count)(2:)) |
| | 225 | + end if |
| | 226 | + end if |
| 213 | print *, " Segment ", cached_segment_count, ": ", & | 227 | print *, " Segment ", cached_segment_count, ": ", & |
| 214 | trim(cached_segment_paths(cached_segment_count)), " -> ", & | 228 | trim(cached_segment_paths(cached_segment_count)), " -> ", & |
| 215 | trim(cached_segment_names(cached_segment_count)) | 229 | trim(cached_segment_names(cached_segment_count)) |