C Library Functions  - 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=:),allocatable :: fnames(:)
   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
      fnames=system_dir(pattern=’*’) ! list all files in current directory
      ! select readable directories
      fnames=pack(fnames,system_isdir(fnames).and.access(fnames,R_OK))
      fnames=pack(fnames,fnames(:)(1:1) .ne.’.’) ! skip hidden directories
      do i=1,size(fnames)
         write(*,*)’ ’,trim(fnames(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


Nemo Release 3.1 system_isdir (3) July 22, 2023
Generated by manServer 1.08 from d6a0d91c-028b-4361-8d1d-8270dfe26312 using man macros.