[UP]


Manual Reference Pages  - system_isdir (3)

NAME

system_isdir(3f) - [M_system:QUERY_FILE] checks if argument is a directory path (LICENSE:PD)

CONTENTS

Synopsis
Description
Options
Return Value
Errors
See Also
Example

SYNOPSIS

elemental impure logical function system_isdir(pathname)

   character(len=*),intent(in) :: pathname
   logical                     :: system_isdir

DESCRIPTION

The system_isdir(3f) function checks if path is a directory.

OPTIONS

path a character string representing a directory pathname. Trailing spaces are ignored.

RETURN VALUE

The system_isdir() function should always be successful and no return value is reserved to indicate an error.

ERRORS

No errors are defined.

SEE ALSO

system_islnk(3f), system_stat(3f), isreg(3f), system_perm(3f)

EXAMPLE

Sample program

   program demo_system_isdir
   use M_system, only : system_isdir
   use M_system, only : access=>system_access, R_OK
   use M_system, only : system_dir
   implicit none
   character(len=1024),allocatable :: filenames(:) ! BUG: cannot use len=: in gfortran 8.3.1
   integer                         :: i
   character(len=80),parameter     :: names(*)=[ &
   & ’/tmp            ’, &
   & ’/tmp/NOTTHERE   ’, &
   & ’/usr/local      ’, &
   & ’.               ’, &
   & ’PROBABLY_NOT    ’]
      !
      do i=1,size(names)
         write(*,*)’ is ’,trim(names(i)),’ a directory? ’, system_isdir(names(i))
      enddo
      !
      ! EXTENDED EXAMPLE: list readable non-hidden directories in current directory
      filenames=system_dir(pattern=’*’) ! list all files in current directory
      ! select readable directories
      filenames=pack(filenames,system_isdir(filenames).and.access(filenames,R_OK))
      filenames=pack(filenames,filenames(:)(1:1) .ne.’.’) ! skip hidden directories
      do i=1,size(filenames)
         write(*,*)’ ’,trim(filenames(i)),’ is a directory’
      enddo
      !
   end program demo_system_isdir

Results:

     is /tmp a directory?  T
     is /tmp/NOTTHERE a directory?  F
     is /usr/local a directory?  T
     is . a directory?  T
     is PROBABLY_NOT a directory?  F

TEST is a directory EXAMPLE is a directory


system_isdir (3) March 11, 2021
Generated by manServer 1.08 from 06c92095-f834-4258-a36b-770fa04891e5 using man macros.