diff options
author | Felipe Magno de Almeida <felipe@expertise.dev> | 2020-12-14 22:58:01 -0300 |
---|---|---|
committer | Felipe Magno de Almeida <felipe@expertise.dev> | 2020-12-15 16:10:26 -0300 |
commit | 39c77ec5909e9698436ad45295e32cb62536dc70 (patch) | |
tree | abcae95f7bb385b9983983386b7b38a5a7463a48 | |
parent | d0d660ec29a78d66ccac1294e86052578b564f74 (diff) | |
download | efl-39c77ec5909e9698436ad45295e32cb62536dc70.tar.gz |
evil: Add stat constants not defined in MSVC's runtime
-rw-r--r-- | src/lib/evil/evil_private.h | 1 | ||||
-rw-r--r-- | src/lib/evil/evil_stat.h | 38 |
2 files changed, 39 insertions, 0 deletions
diff --git a/src/lib/evil/evil_private.h b/src/lib/evil/evil_private.h index 82a912e8af..1e1b5316e9 100644 --- a/src/lib/evil/evil_private.h +++ b/src/lib/evil/evil_private.h @@ -84,6 +84,7 @@ extern "C" { #include "evil_time.h" #include "evil_unistd.h" #include "evil_util.h" +#include "evil_stat.h" #define sigsetjmp(Env, Save) setjmp(Env) diff --git a/src/lib/evil/evil_stat.h b/src/lib/evil/evil_stat.h new file mode 100644 index 0000000000..9bbf5764c1 --- /dev/null +++ b/src/lib/evil/evil_stat.h @@ -0,0 +1,38 @@ +#ifndef __EVIL_STAT_H__ +#define __EVIL_STAT_H__ + +#ifdef _MSC_VER +# include <evil_private.h> +# include <sys/types.h> +# include <sys/stat.h> +# include <errno.h> +# include <corecrt_io.h> +# include <corecrt.h> + +// Missing definitions: +# define S_IRWXU 0 /* RWX user */ +# define S_IRUSR S_IREAD /* Read user */ +# define S_IWUSR S_IWRITE /* Write user */ +# define S_IXUSR 0 /* Execute user */ +# define S_IRWXG 0 /* RWX group */ +# define S_IRGRP 0 /* Read group */ +# define S_IWGRP 0 /* Write group */ +# define S_IXGRP 0 /* Execute group */ +# define S_IRWXO 0 /* RWX others */ +# define S_IROTH 0 /* Read others */ +# define S_IWOTH 0 /* Write others */ +# define S_IXOTH 0 /* Execute others */ + +// Missing definitions from ucrt +# define S_IFIFO _S_IFIFO + +# define S_ISDIR(mode) (((mode) & S_IFMT) == S_IFDIR) +# define S_ISREG(mode) (((mode) & S_IFMT) == S_IFREG) +# define S_ISFIFO(mode) (((mode) & S_IFMT) == S_IFIFO) +# define S_ISDIR(mode) (((mode) & S_IFMT) == S_IFDIR) +# define S_ISREG(mode) (((mode) & S_IFMT) == S_IFREG) +# define S_ISCHR(mode) (((mode) & S_IFMT) == S_IFCHR) + +#endif /* _MSV_VER */ + +#endif /* __EVIL_STAT_H__ */ |