diff options
author | Eli Zaretskii <eliz@gnu.org> | 2019-12-23 16:28:32 +0200 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2019-12-23 16:28:32 +0200 |
commit | e76ff636537c6140bb9d0b0a39260d840f37ca7e (patch) | |
tree | 955320ffbe3bf646c0870bb3a0e05ecaf953112b /readline/readline | |
parent | 27653fba5e541dbdb275602e8bd83ce1ccf6c292 (diff) | |
download | fsf-binutils-gdb-e76ff636537c6140bb9d0b0a39260d840f37ca7e.zip fsf-binutils-gdb-e76ff636537c6140bb9d0b0a39260d840f37ca7e.tar.gz fsf-binutils-gdb-e76ff636537c6140bb9d0b0a39260d840f37ca7e.tar.bz2 |
Fix compilation of Readline on mingw.org's MinGW
readline/ChangeLog
2019-12-23 Eli Zaretskii <eliz@gnu.org>
* posixstat.h (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH)
(S_IXOTH, S_IRWXG, S_IRWXO): Define if undefined, even if S_IRWXU
is defined, because non-Posix systems may defined only the user
bits.
Diffstat (limited to 'readline/readline')
-rw-r--r-- | readline/readline/CHANGELOG | 7 | ||||
-rw-r--r-- | readline/readline/posixstat.h | 20 |
2 files changed, 27 insertions, 0 deletions
diff --git a/readline/readline/CHANGELOG b/readline/readline/CHANGELOG index 18265ab..6fa1ebb 100644 --- a/readline/readline/CHANGELOG +++ b/readline/readline/CHANGELOG @@ -1,3 +1,10 @@ +2019-12-23 Eli Zaretskii <eliz@gnu.org> + + * posixstat.h (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH) + (S_IXOTH, S_IRWXG, S_IRWXO): Define if undefined, even if S_IRWXU + is defined, because non-Posix systems may defined only the user + bits. + [Readline-specific changelog. Descriptions of changes to the source are found in the bash changelog.] diff --git a/readline/readline/posixstat.h b/readline/readline/posixstat.h index 3eb7f29..b9d8eb3 100644 --- a/readline/readline/posixstat.h +++ b/readline/readline/posixstat.h @@ -132,6 +132,26 @@ # define S_IRWXU (S_IRUSR | S_IWUSR | S_IXUSR) # define S_IRWXG (S_IRGRP | S_IWGRP | S_IXGRP) # define S_IRWXO (S_IROTH | S_IWOTH | S_IXOTH) +#else /* !S_IRWXU */ + /* S_IRWXU is defined, but "group" and "other" bits might not be + (happens in certain versions of MinGW). */ +# if !defined (S_IRGRP) +# define S_IRGRP (S_IREAD >> 3) /* read, group */ +# define S_IWGRP (S_IWRITE >> 3) /* write, group */ +# define S_IXGRP (S_IEXEC >> 3) /* execute, group */ +# endif /* !S_IRGRP */ + +# if !defined (S_IROTH) +# define S_IROTH (S_IREAD >> 6) /* read, other */ +# define S_IWOTH (S_IWRITE >> 6) /* write, other */ +# define S_IXOTH (S_IEXEC >> 6) /* execute, other */ +# endif /* !S_IROTH */ +# if !defined (S_IRWXG) +# define S_IRWXG (S_IRGRP | S_IWGRP | S_IXGRP) +# endif +# if !defined (S_IRWXO) +# define S_IRWXO (S_IROTH | S_IWOTH | S_IXOTH) +# endif #endif /* !S_IRWXU */ /* These are non-standard, but are used in builtins.c$symbolic_umask() */ |