aboutsummaryrefslogtreecommitdiff
path: root/src/fpm_filesystem.F90
diff options
context:
space:
mode:
authorJohn S. Urban <urbanjost@comcast.net>2021-11-12 16:45:06 -0500
committerJohn S. Urban <urbanjost@comcast.net>2021-11-12 16:45:06 -0500
commit76f87ebbf1e763426d6eae2e57dc27fb78767d03 (patch)
treeecc09612f51359cc7e3cd922a75660a6e6b13008 /src/fpm_filesystem.F90
parent9fc759a1821df5a11bde1e48f0f09aca39130f1f (diff)
downloadfpm-76f87ebbf1e763426d6eae2e57dc27fb78767d03.tar.gz
fpm-76f87ebbf1e763426d6eae2e57dc27fb78767d03.zip
correct basename(3f) function and subsequently fix --list option
The --list option was incorrectly trimming pathnames when suffix=.false. was present, and the meaning of the --list option has changed from originally being an option to display the full pathnames of targets to displaying a table of matching target basenames. Since the --runner command can be used to display the full pathnames and the runner command defaults to an "echo" command the pathnames can still easily be generated, but an example was added to reflect that. As the help text needed editing anyway, changed some whitespace to conform to the requirements of the txt2man(1) utility, to facilitate easily generating man-pages and HTML versions of the help text.
Diffstat (limited to 'src/fpm_filesystem.F90')
-rw-r--r--src/fpm_filesystem.F9019
1 files changed, 8 insertions, 11 deletions
diff --git a/src/fpm_filesystem.F90 b/src/fpm_filesystem.F90
index 102d6c5..83cffe7 100644
--- a/src/fpm_filesystem.F90
+++ b/src/fpm_filesystem.F90
@@ -94,21 +94,18 @@ function basename(path,suffix) result (base)
with_suffix = suffix
end if
- if (with_suffix) then
- call split(path,file_parts,delimiters='\/')
- if(size(file_parts).gt.0)then
- base = trim(file_parts(size(file_parts)))
- else
- base = ''
- endif
+ call split(path,file_parts,delimiters='\/')
+ if(size(file_parts).gt.0)then
+ base = trim(file_parts(size(file_parts)))
else
- call split(path,file_parts,delimiters='\/.')
+ base = ''
+ endif
+ if(.not.with_suffix)then
+ call split(base,file_parts,delimiters='.')
if(size(file_parts).ge.2)then
base = trim(file_parts(size(file_parts)-1))
- else
- base = ''
endif
- end if
+ endif
end function basename