module Directory (doesDirectoryExist) where
import NHC.GreenCard
import NHC.FFI
%-#include <sys/types.h>
%-#include <sys/stat.h>
%-#define TRUE 1
%-#define FALSE 0
%fun doesDirectoryExist :: FilePath -> IO Bool
%call (filePath fp)
%code
% struct stat st;
% int err = stat(fp,&st);
% if ((err==0) && S_ISDIR(st.st_mode)) b=TRUE;
% else {
% err=0; /* MUST reset err flag! */
% b=FALSE;
% }
%result (bool b)
|