newlib-cygwin/winsup/cygwin
Corinna Vinschen 2229f42400 Cygwin: __wscollate_range_cmp: workaround wcscoll's case-insensitivity
Most locales using latin characters ignore case while sorting.
This is what wcscoll does (correctly so).  However, there's an
internal order of collating sequences compared to the base
character, which is case-sensitive, at least in GLibc.

There's no way to express this in Windows, because CompareString
and LCMapString *always* use case-insensitivity in those locales,
even if none of the *IGNORECASE sorting flags are used.

We want to follow glibc's behaviour more closely, so we add an
extra check for the case and make sure upper and lower cased
letters don't comapre as identical.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2023-02-22 12:20:32 +01:00
..
DevDocs Cygwin: testsuite: Add x86_64 code to "dynamically load cygwin" test 2022-08-29 17:53:48 +01:00
fhandler Cygwin: dsp: Fix SNDCTL_DSP_GET[IO]SPACE before read()/write(). 2023-02-16 20:14:13 +09:00
include Cygwin: socket.h: define missing IPTOS_LOWCOST/IPTOS_MINCOST 2023-02-12 21:42:26 +01:00
lib Cygwin: drop __stdcall usage 2022-08-04 20:54:09 +02:00
libc Cygwin: convert __collate_range_cmp to __wcollate_range_cmp 2023-02-19 14:40:29 +01:00
linux-locale-helpers Cygwin: linux-locale-helpers: helper tools to generate locale data from Linux 2023-02-20 23:00:04 +01:00
local_includes Cygwin: glob: perform correct utf-32 -> multibyte conversion 2023-02-22 10:03:03 +01:00
math cacosh: Use approximation for large input. 2022-08-04 12:55:52 +02:00
mm Cygwin: fix two comments in heap.cc and memory_layout.h 2023-01-18 20:13:38 +01:00
regex Cygwin: convert __collate_range_cmp to __wcollate_range_cmp 2023-02-19 14:40:29 +01:00
release add glob/fnmatch equivalence class support to release notes 2023-02-15 22:37:32 +01:00
scripts Cygwin: Run testsuite against the just-built DLL 2023-01-10 10:27:13 +00:00
sec Cygwin: get_posix_access: Make mode_t parameter mandatory 2023-02-09 21:58:44 +01:00
tzcode winsup: delete old _LIBC logic 2021-11-10 20:16:15 -05:00
x86_64 Cygwin: x86_64: import swab.S from NetBSD 2022-12-20 10:19:23 +01:00
Makefile.am Cygwin: Makefile.am: fix rule to create version from git describe 2023-02-15 15:04:16 +01:00
advapi32.cc Cygwin: drop all usages of WINAPI 2022-08-04 22:13:59 +02:00
aio.cc Cygwin: drop all usages of WINAPI 2022-08-04 22:13:59 +02:00
assert.cc
autoload.cc Cygwin: autoload: clean up arguments to LoadDllFunc* 2023-01-17 16:32:14 +01:00
automode.c
binmode.c
clock.cc Cygwin: drop wincap::has_precise_system_time 2022-12-04 14:01:41 +01:00
config.h.in Cygwin: Use automake (v5) 2021-04-27 16:49:56 +01:00
create_posix_thread.cc Cygwin: add memory_layout.h 2022-10-28 16:26:53 +02:00
crt0.c Cygwin: drop 32 bit considerations in crt0 code 2022-05-16 18:17:06 +02:00
ctype.cc Cygwin: drop macro and code for CYGWIN_VERSION_CHECK_FOR_OLD_CTYPE 2022-08-03 15:59:37 +02:00
cxx.cc
cygthread.cc Cygwin: drop all usages of WINAPI 2022-08-04 22:13:59 +02:00
cygtls.cc Cygwin: tls_pathbuf: Use Windows heap 2022-08-23 12:09:44 +02:00
cygwait.cc Ensure nanosleep(2) never returns negative rem 2021-07-22 09:57:40 +02:00
cygwin.din Cygwin: reinstantiate exporting _alloca 2023-01-09 13:42:53 +01:00
cygwin.ldif
cygwin.sc.in Cygwin: drop objcopy .gnu_debuglink juggle 2022-10-28 16:26:53 +02:00
cygxdr.cc
dcrt0.cc Cygwin: cygheap: Initialize myself_pinfo before child_copy(). 2023-01-10 21:04:29 +09:00
debug.cc Cygwin: debugging: convert muto to SRWLOCK 2022-08-22 14:38:49 +02:00
devices.cc Cygwin: tape: tapes are character devices, not block devices 2023-01-21 18:25:56 +01:00
devices.in Cygwin: tape: tapes are character devices, not block devices 2023-01-21 18:25:56 +01:00
dir.cc change _COMPILING_NEWLIB to _LIBC 2021-11-15 19:32:23 -05:00
dlfcn.cc Cygwin: remove miscellaneous 32-bit code 2022-05-29 17:54:32 -04:00
dll_init.cc Cygwin: remove most occurrences of __stdcall and __cdecl 2022-06-06 12:00:45 -04:00
dtable.cc Cygwin: remove most occurrences of __stdcall and __cdecl 2022-06-06 12:00:45 -04:00
environ.cc Cygwin: drop macro and code for CYGWIN_VERSION_DLL_MALLOC_ENV 2022-08-03 15:35:34 +02:00
errno.cc Cygwin: create sparse errmap array 2022-08-04 15:16:48 +02:00
exceptions.cc Cygwin: Handle out of order modules for module offsets in stackdump 2022-11-04 13:25:54 +00:00
exec.cc Cygwin: rename __cygwin_environ and drop env redirection via cur_environ() 2022-07-28 22:00:40 +02:00
external.cc Cygwin: uinfo: Drop long disabled nss_prefix and nss_separator 2022-12-02 16:35:31 +01:00
fcntl.cc Cygwin: simplify some function names 2022-05-29 17:45:52 -04:00
fenv.c Cygwin: don't export _feinitialise from newlib 2021-04-13 12:55:34 +02:00
flock.cc Cygwin: flock: drop checking for artificial console handles 2022-12-04 14:01:41 +01:00
fork.cc Cygwin: fork: fix a potential hang in fork 2022-08-29 12:25:24 +02:00
forkable.cc Cygwin: wincap.h: clarify NO_COPY_RO usage 2023-01-12 10:51:39 +01:00
gcrt0.c Revert "sys/types.h: Don't include sys/_stdint.h" 2022-05-04 15:08:44 +02:00
glob.cc Cygwin: glob: perform ignore_case_with_glob on input 2023-02-22 10:47:54 +01:00
glob_pattern_p.cc
globals.cc Cygwin: convert __collate_range_cmp to __wcollate_range_cmp 2023-02-19 14:40:29 +01:00
gmon.c Cygwin: Zero out gmon header before use 2021-06-26 15:24:27 +01:00
grp.cc Cygwin: simplify some function names 2022-05-29 17:45:52 -04:00
hookapi.cc Cygwin: Fix previous attempt to drop i386 targets from hookapi 2022-07-28 16:38:01 +02:00
init.cc Cygwin: drop all usages of WINAPI 2022-08-04 22:13:59 +02:00
ioctl.cc
ipc.cc Cygwin: simplify some function names 2022-05-29 17:45:52 -04:00
kernel32.cc Cygwin: drop all usages of WINAPI 2022-08-04 22:13:59 +02:00
ldap.cc Cygwin: drop all usages of WINAPI 2022-08-04 22:13:59 +02:00
libstdcxx_wrapper.cc Cygwin: remove miscellaneous 32-bit code 2022-05-29 17:54:32 -04:00
loadavg.cc
lsearch.cc
mcount.c
miscfuncs.cc Cygwin: rename CygwinCreateThread to create_posix_thread 2022-08-10 18:06:28 +02:00
mktemp.cc Cygwin: simplify some function names 2022-05-29 17:45:52 -04:00
mount.cc Cygwin: mount: differ allowed server name chars from allowed share name chars 2023-01-23 14:02:20 +01:00
msg.cc
net.cc Cygwin: net.cc: convert wsock_errmap into a simple array of error codes 2022-08-04 11:45:58 +02:00
netdb.cc
nfs.cc
nlsfuncs.cc Cygwin: __wscollate_range_cmp: workaround wcscoll's case-insensitivity 2023-02-22 12:20:32 +01:00
ntea.cc Cygwin: remove most occurrences of __stdcall and __cdecl 2022-06-06 12:00:45 -04:00
passwd.cc Cygwin: simplify some function names 2022-05-29 17:45:52 -04:00
path.cc Cygwin: path_conv: make sure sym.path_flags is always initialized 2022-12-21 13:13:24 +01:00
pinfo.cc Cygwin: /proc/<PID>/maps: print real shared region addresses 2023-01-17 22:00:48 +01:00
poll.cc Cygwin: poll: Fix a bug on inquiring same fd with different events. 2022-06-27 10:54:24 +09:00
posix_ipc.cc Cygwin: move POSIX semaphore API functions to posix_ipc.cc 2022-08-10 18:11:57 +02:00
posix_timer.cc Cygwin: posix_timer: fix formatting 2022-08-22 14:53:30 +02:00
profil.c Cygwin: drop all usages of WINAPI 2022-08-04 22:13:59 +02:00
pseudo-reloc.cc Cygwin: drop macro and code for CYGWIN_VERSION_USE_PSEUDO_RELOC_IN_DLL 2022-08-03 16:01:29 +02:00
quotactl.cc
random.cc Cygwin: add missing pragma 2022-12-07 21:18:24 +01:00
registry.cc
resource.cc Cygwin: fix a few comments mentioning Windows 7 or 8 2022-12-04 14:01:41 +01:00
scandir.cc
sched.cc Cygwin: drop support for systems not supporting processor groups 2021-10-29 18:19:45 +02:00
select.cc Cygwin: console: Make the console accessible from other terminals. 2022-12-22 21:05:31 +09:00
sem.cc
setlsapwd.cc
shm.cc Cygwin: shm: Convert muto into SRWLOCK and avoid overlocking 2022-08-22 14:28:11 +02:00
signal.cc Cygwin: remove regparm.h 2022-05-29 17:45:52 -04:00
sigproc.cc Cygwin: /proc/<PID>/status: avoid crash computing signal info 2023-01-10 11:48:02 +01:00
smallprint.cc Cygwin: smallprint.cc: Drop HEAP_ZERO_MEMORY 2022-08-22 17:58:53 +02:00
spawn.cc Cygwin: pty, console: Encapsulate spawn.cc code related to pty/console. 2022-11-20 10:37:37 +09:00
strace.cc Cygwin: remove most occurrences of __stdcall and __cdecl 2022-06-06 12:00:45 -04:00
strfuncs.cc Cygwin: glob: perform correct utf-32 -> multibyte conversion 2023-02-22 10:03:03 +01:00
strsep.cc Cygwin: C++17: register keyword is deprecated 2021-08-26 22:14:11 +02:00
strsig.cc Cygwin: remove miscellaneous 32-bit code 2022-05-29 17:54:32 -04:00
sync.cc
syscalls.cc Cygwin: ctty: Add comments for the special values: -1 and -2. 2023-01-10 22:04:40 +09:00
sysconf.cc Cygwin: remove miscellaneous 32-bit code 2022-05-29 17:54:32 -04:00
syslog.cc
termios.cc Cygwin: drop macro and code for CYGWIN_VERSION_DLL_IS_OLD_TERMIOS 2022-08-03 15:35:29 +02:00
textmode.c
textreadmode.c
thread.cc Cygwin: move POSIX semaphore API functions to posix_ipc.cc 2022-08-10 18:11:57 +02:00
timerfd.cc Cygwin: drop all usages of WINAPI 2022-08-04 22:13:59 +02:00
times.cc Cygwin: drop wincap::has_precise_system_time 2022-12-04 14:01:41 +01:00
tls_pbuf.cc Cygwin: tls_pathbuf: Use Windows heap 2022-08-23 12:09:44 +02:00
tty.cc Cygwin: pty: Use GetTickCount64() instead of GetTickCount(). 2022-12-09 21:01:42 +09:00
uinfo.cc Cygwin: drop special handling for SID authority 18 2022-12-04 14:03:02 +01:00
uname.cc Cygwin: uname: fix building in non-git source dir 2022-12-07 22:22:38 +01:00
wait.cc
wincap.cc Cygwin: wincap: make capability flags readonly 2023-01-12 10:34:32 +01:00
window.cc Cygwin: drop all usages of WINAPI 2022-08-04 22:13:59 +02:00
winf.cc
winver.rc