Skip Menu |

This queue is for tickets about the PathTools CPAN distribution.

Report information
The Basics
Id: 121164
Status: new
Priority: 0/
Queue: PathTools

Owner: Nobody in particular
Requestors: kbrown [...]

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)

CC: Achim Gratz <Stromeko [...]>
Subject: Bug in determining case sensitivity on Cygwin
Date: Sat, 15 Apr 2017 14:41:52 -0400
To: bug-PathTools [...]
From: Ken Brown <kbrown [...]>
Download (untitled) / with headers
text/plain 1.3k
The definition of case_tolerant in File::Spec::Cygwin ignores the fact that file systems can be case sensitive on Cygwin without that information being visible in Cygwin::mount_flags. See Starting with Cygwin-2.6.1, case sensitivity can be determined in C code via the pathconf function with the _PC_CASE_INSENSITIVE flag, as in the following code snippet [adapted from the emacs sources]: #include <unistd.h> bool file_name_case_insensitive_p (const char *filename) { int res = pathconf (filename, _PC_CASE_INSENSITIVE); if (res >= 0) return res > 0; return true; } Or it can be determined by the getconf utility: $ getconf CASE_INSENSITIVE . 0 or $ getconf -a . CASE_INSENSITIVE 0 FILESIZEBITS 64 LINK_MAX 1024 NAME_MAX 255 PATH_MAX 4096 PIPE_BUF 4096 POSIX2_SYMLINKS 1 POSIX_PERMISSIONS 1 POSIX_SECURITY 1 SYMLINK_MAX 4095 _POSIX_CHOWN_RESTRICTED 1 _POSIX_NO_TRUNC 1 _POSIX_ASYNC_IO undefined _POSIX_PRIO_IO undefined _POSIX_SYNC_IO 1 Ken

This service is sponsored and maintained by Best Practical Solutions and runs on infrastructure.

Please report any issues with to