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.
This commit is contained in:
Eli Zaretskii 2019-12-23 16:28:32 +02:00
parent 27653fba5e
commit e76ff63653
2 changed files with 27 additions and 0 deletions

View File

@ -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.]

View File

@ -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() */