Reject invalid definitions of _POSIX_CHOWN_RESTRICTED, _POSIX_NO_TRUNC, _POSIX_VDISABLE

POSIX requires that the constants _POSIX_CHOWN_RESTRICTED,
_POSIX_NO_TRUNC, and _POSIX_VDISABLE are always defined to a value other
than -1.
This commit is contained in:
Andreas Schwab 2018-01-28 18:48:04 +01:00
parent e01e0ddc42
commit 9a1793289b
3 changed files with 24 additions and 24 deletions

View File

@ -1,3 +1,9 @@
2018-01-29 Andreas Schwab <schwab@linux-m68k.org>
* sysdeps/posix/fpathconf.c (__fpathconf): Verify the values of
_POSIX_CHOWN_RESTRICTED, _POSIX_NO_TRUNC, _POSIX_VDISABLE.
* sysdeps/posix/pathconf.c (__pathconf): Likewise.
2018-01-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
* mach/Versions: Fix version when __mach_host_self_ was added.

View File

@ -103,25 +103,22 @@ __fpathconf (int fd, int name)
#endif
case _PC_CHOWN_RESTRICTED:
#ifdef _POSIX_CHOWN_RESTRICTED
return _POSIX_CHOWN_RESTRICTED;
#else
return -1;
#if _POSIX_CHOWN_RESTRICTED == -1
# error "Invalid value for _POSIX_CHOWN_RESTRICTED"
#endif
return _POSIX_CHOWN_RESTRICTED;
case _PC_NO_TRUNC:
#ifdef _POSIX_NO_TRUNC
return _POSIX_NO_TRUNC;
#else
return -1;
#if _POSIX_NO_TRUNC == -1
# error "Invalid value for _POSIX_NO_TRUNC"
#endif
return _POSIX_NO_TRUNC;
case _PC_VDISABLE:
#ifdef _POSIX_VDISABLE
return _POSIX_VDISABLE;
#else
return -1;
#if _POSIX_VDISABLE == -1
# error "Invalid value for _POSIX_VDISABLE"
#endif
return _POSIX_VDISABLE;
case _PC_SYNC_IO:
#ifdef _POSIX_SYNC_IO

View File

@ -101,25 +101,22 @@ __pathconf (const char *path, int name)
#endif
case _PC_CHOWN_RESTRICTED:
#ifdef _POSIX_CHOWN_RESTRICTED
return _POSIX_CHOWN_RESTRICTED;
#else
return -1;
#if _POSIX_CHOWN_RESTRICTED == -1
# error "Invalid value for _POSIX_CHOWN_RESTRICTED"
#endif
return _POSIX_CHOWN_RESTRICTED;
case _PC_NO_TRUNC:
#ifdef _POSIX_NO_TRUNC
return _POSIX_NO_TRUNC;
#else
return -1;
#if _POSIX_NO_TRUNC == -1
# error "Invalid value for _POSIX_NO_TRUNC"
#endif
return _POSIX_NO_TRUNC;
case _PC_VDISABLE:
#ifdef _POSIX_VDISABLE
return _POSIX_VDISABLE;
#else
return -1;
#if _POSIX_VDISABLE == -1
# error "Invalid value for _POSIX_VDISABLE"
#endif
return _POSIX_VDISABLE;
case _PC_SYNC_IO:
#ifdef _POSIX_SYNC_IO