Add _PC_CASE_INSENSITIVE to [f]pathconf

Update the getconf utility to support the new flag as well as
_PC_POSIX_PERMISSIONS and _PC_POSIX_SECURITY.  These were previously
unsupported, probably as an oversight.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
Ken Brown 2016-10-20 15:35:54 -04:00 committed by Corinna Vinschen
parent 93374181cb
commit dda82d1a7b
5 changed files with 10 additions and 1 deletions

View File

@ -490,6 +490,7 @@ int _EXFUN(unlinkat, (int, const char *, int));
#define _PC_POSIX_PERMISSIONS 90 #define _PC_POSIX_PERMISSIONS 90
/* Ask for full POSIX permission support including uid/gid settings. */ /* Ask for full POSIX permission support including uid/gid settings. */
#define _PC_POSIX_SECURITY 91 #define _PC_POSIX_SECURITY 91
#define _PC_CASE_INSENSITIVE 92
#endif #endif
/* /*

View File

@ -1891,6 +1891,8 @@ fhandler_base::fpathconf (int v)
return pc.has_acls () || pc.fs_is_nfs (); return pc.has_acls () || pc.fs_is_nfs ();
set_errno (EINVAL); set_errno (EINVAL);
break; break;
case _PC_CASE_INSENSITIVE:
return !!pc.objcaseinsensitive ();
default: default:
set_errno (EINVAL); set_errno (EINVAL);
break; break;

View File

@ -469,12 +469,13 @@ details. */
302: Export nl_langinfo_l. 302: Export nl_langinfo_l.
303: Export pthread_getname_np, pthread_setname_np. 303: Export pthread_getname_np, pthread_setname_np.
304: Export strerror_l, strptime_l, wcsftime_l. 304: Export strerror_l, strptime_l, wcsftime_l.
305: [f]pathconf flag _PC_CASE_INSENSITIVE added.
Note that we forgot to bump the api for ualarm, strtoll, strtoull, Note that we forgot to bump the api for ualarm, strtoll, strtoull,
sigaltstack, sethostname. */ sigaltstack, sethostname. */
#define CYGWIN_VERSION_API_MAJOR 0 #define CYGWIN_VERSION_API_MAJOR 0
#define CYGWIN_VERSION_API_MINOR 304 #define CYGWIN_VERSION_API_MINOR 305
/* There is also a compatibity version number associated with the shared memory /* There is also a compatibity version number associated with the shared memory
regions. It is incremented when incompatible changes are made to the shared regions. It is incremented when incompatible changes are made to the shared

View File

@ -1,6 +1,8 @@
What's new: What's new:
----------- -----------
- Add _PC_CASE_INSENSITIVE flag to [f]pathconf(3).
What changed: What changed:
------------- -------------

View File

@ -186,6 +186,7 @@ static const struct conf_variable conf_table[] =
{ "POSIX2_RE_DUP_MAX", CONSTANT, _POSIX2_RE_DUP_MAX }, { "POSIX2_RE_DUP_MAX", CONSTANT, _POSIX2_RE_DUP_MAX },
/* Variables from fpathconf() */ /* Variables from fpathconf() */
{ "CASE_INSENSITIVE", PATHCONF, _PC_CASE_INSENSITIVE },
{ "FILESIZEBITS", PATHCONF, _PC_FILESIZEBITS }, { "FILESIZEBITS", PATHCONF, _PC_FILESIZEBITS },
{ "LINK_MAX", PATHCONF, _PC_LINK_MAX }, { "LINK_MAX", PATHCONF, _PC_LINK_MAX },
{ "MAX_CANON", PATHCONF, _PC_MAX_CANON }, { "MAX_CANON", PATHCONF, _PC_MAX_CANON },
@ -195,10 +196,12 @@ static const struct conf_variable conf_table[] =
{ "PIPE_BUF", PATHCONF, _PC_PIPE_BUF }, { "PIPE_BUF", PATHCONF, _PC_PIPE_BUF },
{ "POSIX2_SYMLINKS", PATHCONF, _PC_2_SYMLINKS }, { "POSIX2_SYMLINKS", PATHCONF, _PC_2_SYMLINKS },
{ "POSIX_ALLOC_SIZE_MIN", PATHCONF, _PC_ALLOC_SIZE_MIN }, { "POSIX_ALLOC_SIZE_MIN", PATHCONF, _PC_ALLOC_SIZE_MIN },
{ "POSIX_PERMISSIONS", PATHCONF, _PC_POSIX_PERMISSIONS },
{ "POSIX_REC_INCR_XFER_SIZE", PATHCONF, _PC_REC_INCR_XFER_SIZE }, { "POSIX_REC_INCR_XFER_SIZE", PATHCONF, _PC_REC_INCR_XFER_SIZE },
{ "POSIX_REC_MAX_XFER_SIZE", PATHCONF, _PC_REC_MAX_XFER_SIZE }, { "POSIX_REC_MAX_XFER_SIZE", PATHCONF, _PC_REC_MAX_XFER_SIZE },
{ "POSIX_REC_MIN_XFER_SIZE", PATHCONF, _PC_REC_MIN_XFER_SIZE }, { "POSIX_REC_MIN_XFER_SIZE", PATHCONF, _PC_REC_MIN_XFER_SIZE },
{ "POSIX_REC_XFER_ALIGN", PATHCONF, _PC_REC_XFER_ALIGN }, { "POSIX_REC_XFER_ALIGN", PATHCONF, _PC_REC_XFER_ALIGN },
{ "POSIX_SECURITY", PATHCONF, _PC_POSIX_SECURITY },
{ "SYMLINK_MAX", PATHCONF, _PC_SYMLINK_MAX }, { "SYMLINK_MAX", PATHCONF, _PC_SYMLINK_MAX },
{ "_POSIX_CHOWN_RESTRICTED", PATHCONF, _PC_CHOWN_RESTRICTED }, { "_POSIX_CHOWN_RESTRICTED", PATHCONF, _PC_CHOWN_RESTRICTED },
{ "_POSIX_NO_TRUNC", PATHCONF, _PC_NO_TRUNC }, { "_POSIX_NO_TRUNC", PATHCONF, _PC_NO_TRUNC },