platform_bionic/libc/bionic
Christopher Ferris e9ffc52da7 Increase time to set allocation limit.
Under some circumstances, it's possible to fail the enable allocation
limit android_mallopt call. Increase the total allowed time for the
function to complete.

In addition, if the enable fails, allow another limit call to succeed
in the future.

Finally, change the limit test to use _exit instead of exit.

Bug: 291672185

Test: Ran limit test thousands of times.
Test: Forced the limit to fail and verified the second call passes.
Change-Id: I0948e6fd97231a7538b9b82b76f0a207386681b1
2023-08-04 13:10:48 -07:00
..
__bionic_get_shell_path.cpp system(3) uses /bin/sh when built for host 2020-10-26 22:02:53 +09:00
__cmsg_nxthdr.cpp Modernize codebase by replacing NULL with nullptr 2018-08-02 18:09:44 -07:00
__cxa_guard.cpp Remove now unneeded #undef in __cxa_guard.cpp 2019-08-07 11:10:22 -07:00
__cxa_pure_virtual.cpp
__cxa_thread_atexit_impl.cpp Fix dlclose for libraries with thread_local dtors 2018-01-10 10:24:06 +01:00
__errno.cpp Move errno to a pthread_internal_t field. 2018-12-11 12:59:23 -08:00
__gnu_basename.cpp Modernize codebase by replacing NULL with nullptr 2018-08-02 18:09:44 -07:00
__libc_current_sigrtmax.cpp Remove <signal.h> inlines for obsolete API levels. 2023-02-24 00:28:20 +00:00
__libc_current_sigrtmin.cpp Move sigrtmin.h into platform headers. 2020-01-02 14:14:15 -08:00
__libc_init_main_thread.cpp Consistently use %m rather than strerror() in logging. 2023-07-12 21:16:31 +00:00
__set_errno.cpp
__stack_chk_fail.cpp
abort.cpp Generalize abort's inline_tgkill, use it in fdsan. 2018-08-31 16:39:23 -07:00
accept.cpp
access.cpp
android_profiling_dynamic.cpp Consistently use %m rather than strerror() in logging. 2023-07-12 21:16:31 +00:00
android_set_abort_message.cpp In android_set_abort_message, check for nullptr. 2022-04-12 13:46:48 -07:00
android_unsafe_frame_pointer_chase.cpp Add a hack for a RISC-V bug. 2022-11-11 17:12:57 +00:00
arpa_inet.cpp
assert.cpp Remove dead longjmperror. 2017-08-23 15:40:03 -07:00
atexit.cpp Consistently use %m rather than strerror() in logging. 2023-07-12 21:16:31 +00:00
atexit.h Rewrite __cxa_atexit / __cxa_finalize 2020-03-06 21:04:32 -08:00
atof.cpp Modernize codebase by replacing NULL with nullptr 2018-08-02 18:09:44 -07:00
bionic_allocator.cpp Consistently use %m rather than strerror() in logging. 2023-07-12 21:16:31 +00:00
bionic_arc4random.cpp Replace TLS_SLOT_BIONIC_PREINIT w/ shared globals 2018-12-04 13:51:56 -08:00
bionic_call_ifunc_resolver.cpp riscv64: pass a null argument to ifunc resolvers. 2023-07-31 19:34:38 +00:00
bionic_elf_tls.cpp Remove PAGE_SIZE call sites. 2023-06-12 10:59:39 -07:00
bionic_futex.cpp Support priority inheritance mutex in 64bit programs. 2018-01-24 16:11:07 -08:00
bionic_netlink.cpp Add the ScopedFd that we've never quite gotten around to. 2019-10-31 21:16:18 -07:00
bionic_netlink.h Add the ScopedFd that we've never quite gotten around to. 2019-10-31 21:16:18 -07:00
bionic_systrace.cpp Fix recursive deadlock inside bionic_systrace 2022-01-25 20:50:12 +00:00
bionic_time_conversions.cpp Always use CLOCK_MONOTONIC for pthreads and semaphores 2017-08-18 09:11:05 -07:00
brk.cpp Modernize codebase by replacing NULL with nullptr 2018-08-02 18:09:44 -07:00
c16rtomb.cpp Optimize the mbs fast path slightly. 2021-11-16 11:03:19 -08:00
c32rtomb.cpp c32rtomb/mbrtoc32: remove dead code. 2021-12-15 13:41:20 -08:00
chmod.cpp
chown.cpp
clearenv.cpp Modernize codebase by replacing NULL with nullptr 2018-08-02 18:09:44 -07:00
clock.cpp clock: buff our coverage numbers slightly. 2020-05-29 15:36:16 -07:00
clock_getcpuclockid.cpp
clock_nanosleep.cpp Remove the ___ hack. 2019-06-19 15:38:42 -07:00
clone.cpp Move bionic_macros.h from private to platform. 2020-01-02 14:09:50 -08:00
ctype.cpp <ctype.h>: inline the ASCII functions. 2020-02-05 08:18:51 -08:00
dirent.cpp Modernize codebase by replacing NULL with nullptr 2018-08-02 18:09:44 -07:00
dl_iterate_phdr_static.cpp Add additional dl_phdr_info fields 2019-08-22 12:43:17 -07:00
dup.cpp Add a tool to track down fd leaks. 2020-01-30 13:55:10 -08:00
empty_android_ids.h getgrnam, getgrgid, getpwnam, getpwuid for host 2020-10-29 07:52:54 +09:00
environ.cpp Mark __BIONIC_WEAK_FOR_NATIVE_BRIDGE symbols 2017-10-27 10:01:46 +02:00
error.cpp Modernize codebase by replacing NULL with nullptr 2018-08-02 18:09:44 -07:00
ether_aton.c
ether_ntoa.c
eventfd.cpp fdtrack: add wrapper for eventfd. 2020-04-29 17:21:16 -07:00
exec.cpp Make fork equivalent to vfork when HWASan or MTE stack tagging is enabled. 2023-05-08 15:26:00 -07:00
execinfo.cpp Add execinfo functionality. 2021-10-20 21:53:07 +00:00
exit.cpp Make fork equivalent to vfork when HWASan or MTE stack tagging is enabled. 2023-05-08 15:26:00 -07:00
faccessat.cpp Document more clearly that we don't plan on using faccessat2(2). 2021-06-25 09:16:18 -07:00
fchmod.cpp Remove the ___ hack. 2019-06-19 15:38:42 -07:00
fchmodat.cpp Add the ScopedFd that we've never quite gotten around to. 2019-10-31 21:16:18 -07:00
fcntl.cpp fcntl: remove some duplication, fix a bug. 2022-12-02 02:56:50 +00:00
fdsan.cpp Consistently use %m rather than strerror() in logging. 2023-07-12 21:16:31 +00:00
fdtrack.cpp Disable fdtrack post-fork. 2021-04-07 19:00:45 -07:00
ffs.cpp Add ffsl(3), ffsll(3). 2020-03-26 11:43:05 -07:00
fgetxattr.cpp Improve <sys/xattr.h> coverage. 2021-03-08 14:09:43 -08:00
flistxattr.cpp Improve <sys/xattr.h> coverage. 2021-03-08 14:09:43 -08:00
fork.cpp Disable fdtrack post-fork. 2021-04-07 19:00:45 -07:00
fortify.cpp Increase the implementation of __memcpy_chk assembly 2023-03-21 02:05:14 +00:00
fpclassify.cpp Remove some legacy declarations from <math.h>. 2017-10-19 14:15:31 -07:00
fsetxattr.cpp Remove the ___ hack. 2019-06-19 15:38:42 -07:00
ftruncate.cpp
fts.c Export fts as a static library for use with musl 2021-09-08 15:53:10 -07:00
ftw.cpp Fix various ftw/nftw "shall fail"s from POSIX. 2018-05-08 15:20:07 -07:00
futimens.cpp Modernize codebase by replacing NULL with nullptr 2018-08-02 18:09:44 -07:00
get_device_api_level.cpp Add android_get_device_api_level. 2018-09-06 14:19:46 -07:00
getauxval.cpp Changes for #inclusivefixit. 2020-07-21 16:34:58 -07:00
getcwd.cpp Modernize codebase by replacing NULL with nullptr 2018-08-02 18:09:44 -07:00
getdomainname.cpp
getentropy.cpp Add the ScopedFd that we've never quite gotten around to. 2019-10-31 21:16:18 -07:00
gethostname.cpp Various coverage improvements. 2020-08-12 15:52:14 -07:00
getloadavg.cpp Add getloadavg(3). 2018-10-23 11:23:00 -07:00
getpagesize.cpp Remove PAGE_SIZE call sites. 2023-06-12 10:59:39 -07:00
getpgrp.cpp
getpid.cpp Introduce api to track fd ownership in libc. 2018-07-19 14:28:54 -07:00
getpriority.cpp
gettid.cpp Shave another uninteresting stack frame off aborts. 2017-06-20 14:58:16 -07:00
grp_pwd.cpp getgrnam, getgrgid, getpwnam, getpwuid for host 2020-10-29 07:52:54 +09:00
grp_pwd_file.cpp getgrnam, getgrgid, getpwnam, getpwuid for host 2020-10-29 07:52:54 +09:00
grp_pwd_file.h getgrnam, getgrgid, getpwnam, getpwuid for host 2020-10-29 07:52:54 +09:00
gwp_asan_wrappers.cpp Revert "Add debug logging for memtag level" 2023-05-17 20:59:14 +00:00
gwp_asan_wrappers.h [GWP-ASan] Provide runtime configuration through an env var + sysprop. 2022-04-20 11:26:00 -07:00
heap_tagging.cpp [HWASan] add comment to explain why we can use __has_feature 2023-06-22 14:56:18 -07:00
heap_tagging.h Allow init to upgrade MTE to sync. 2022-08-10 10:11:08 -07:00
heap_zero_init.cpp [MemInit] Remove old API, introduce new MemInit API. 2021-01-25 15:19:31 -08:00
heap_zero_init.h [MemInit] Remove old API, introduce new MemInit API. 2021-01-25 15:19:31 -08:00
iconv.cpp iconv(3): ignore src_bytes_left if src_bytes is null. 2021-02-18 10:37:22 -08:00
icu.cpp Replace libandroidicu usage in bionic with the new libicu.so available in NDK 2020-10-20 15:44:20 +01:00
icu_static.cpp Add libc_nopthread. 2017-10-16 21:31:37 -07:00
icu_wrappers.cpp Implement wcwidth(3) in terms of icu4c. 2017-07-27 17:08:24 -07:00
ifaddrs.cpp Consistently use %m rather than strerror() in logging. 2023-07-12 21:16:31 +00:00
initgroups.c
inotify_init.cpp
ioctl.cpp
isatty.c
jemalloc.h Rename iterate to malloc_iterate internally. 2019-11-08 11:49:14 -08:00
jemalloc_wrapper.cpp Add new mallopt M_LOG_STATS. 2023-06-17 00:00:02 +00:00
killpg.cpp Replace killpg. 2017-07-11 15:00:17 -07:00
langinfo.cpp
lchown.cpp
legacy_32_bit_support.cpp Add preadv2/pwritev2 wrappers. 2021-10-18 12:58:47 -07:00
lfs64_support.cpp
libc_init_common.cpp Consistently use %m rather than strerror() in logging. 2023-07-12 21:16:31 +00:00
libc_init_common.h Allow init to upgrade MTE to sync. 2022-08-10 10:11:08 -07:00
libc_init_dynamic.cpp Allow init to upgrade MTE to sync. 2022-08-10 10:11:08 -07:00
libc_init_static.cpp Consistently use %m rather than strerror() in logging. 2023-07-12 21:16:31 +00:00
libgen.cpp Modernize codebase by replacing NULL with nullptr 2018-08-02 18:09:44 -07:00
link.cpp
locale.cpp Avoid using new/delete in locale.cpp 2022-06-13 17:39:32 -07:00
lockf.cpp
lstat.cpp
malloc_common.cpp Add android_mallopt to query MTE stack state 2022-09-07 23:38:42 +00:00
malloc_common.h [GWP-ASan] Integrate GWP-ASan into bionc's malloc() (using hooks). 2020-02-10 10:51:23 -08:00
malloc_common_dynamic.cpp Plumb scudo_ring_buffer_size to debuggerd_process_info 2023-01-05 14:07:22 -08:00
malloc_common_dynamic.h [GWP-ASan] Integrate GWP-ASan into bionc's malloc() (using hooks). 2020-02-10 10:51:23 -08:00
malloc_heapprofd.cpp malloc_heapprofd: Avoid a spurious error log 2021-10-07 17:25:00 +01:00
malloc_heapprofd.h allow for heapprofd's signal to be multiplexed 2020-01-15 22:55:03 +00:00
malloc_limit.cpp Increase time to set allocation limit. 2023-08-04 13:10:48 -07:00
malloc_limit.h [malloc dispatch] Install dispatch over the top of GWP-ASan. 2020-02-11 15:29:21 -08:00
malloc_tagged_pointers.h [Tagged Pointers] Point to SAC documentation in abort message. 2021-01-05 13:10:21 -08:00
mblen.cpp
mbrtoc16.cpp mbrtoc16: explain the line that has no test coverage. 2021-11-18 10:11:07 -08:00
mbrtoc32.cpp c32rtomb/mbrtoc32: remove dead code. 2021-12-15 13:41:20 -08:00
mempcpy.cpp
memset_explicit.cpp Add C23's memset_explicit(). 2022-08-10 23:36:16 +00:00
mkdir.cpp
mkfifo.cpp
mknod.cpp
mmap.cpp Remove PAGE_SIZE call sites. 2023-06-12 10:59:39 -07:00
mntent.cpp Modernize codebase by replacing NULL with nullptr 2018-08-02 18:09:44 -07:00
mremap.cpp Remove PAGE_SIZE call sites. 2023-06-12 10:59:39 -07:00
ndk_cruft.cpp More cleanup for #inclusivefixit. 2020-07-31 10:35:03 -07:00
ndk_cruft_data.cpp Optimize tolower(3)/toupper(3) from <ctype.h>. 2019-09-27 14:42:39 -07:00
net_if.cpp Add the ScopedFd that we've never quite gotten around to. 2019-10-31 21:16:18 -07:00
netdb.cpp Complete <netdb.h>. 2017-10-15 10:37:51 -07:00
NetdClient.cpp libnetd_client: support hooking sendto/sendmsg/sendmmsg too. 2019-06-20 08:32:24 -07:00
NetdClientDispatch.cpp Add a tool to track down fd leaks. 2020-01-30 13:55:10 -08:00
netinet_in.cpp
new.cpp Make our definition of std::nothrow weak. 2020-12-08 14:40:30 -08:00
nl_types.cpp
open.cpp Add a tool to track down fd leaks. 2020-01-30 13:55:10 -08:00
pathconf.cpp
pause.cpp Add sigset64_t and accompanying functions. 2018-01-30 18:47:16 -08:00
pidfd.cpp Add wrappers for pidfd_{open,getfd,send_signal}. 2021-02-25 13:55:12 -08:00
pipe.cpp fdtrack: add wrappers for pipe, pipe2. 2020-04-29 17:21:16 -07:00
poll.cpp De-pessimize SigSetConverter usage. 2023-07-19 12:20:07 -07:00
posix_fadvise.cpp
posix_fallocate.cpp
posix_madvise.cpp
posix_timers.cpp Modernize codebase by replacing NULL with nullptr 2018-08-02 18:09:44 -07:00
preadv_pwritev.cpp Add preadv2/pwritev2 wrappers. 2021-10-18 12:58:47 -07:00
pthread_atfork.cpp Move bionic_macros.h from private to platform. 2020-01-02 14:09:50 -08:00
pthread_attr.cpp Consistently use %m rather than strerror() in logging. 2023-07-12 21:16:31 +00:00
pthread_barrier.cpp
pthread_cond.cpp Remove <pthread.h> cruft. 2023-02-27 21:31:11 +00:00
pthread_create.cpp Consistently use %m rather than strerror() in logging. 2023-07-12 21:16:31 +00:00
pthread_detach.cpp Pass caller names to __pthread_internal_find for better errors. 2019-02-01 16:31:10 -08:00
pthread_equal.cpp
pthread_exit.cpp riscv64 SCS support. 2023-02-23 01:21:07 +00:00
pthread_getcpuclockid.cpp Make more pthread functions weak for native bridge 2019-09-25 16:55:47 +02:00
pthread_getschedparam.cpp Make pthread_get/setschedparam weak for native bridge 2019-04-25 16:43:24 +02:00
pthread_gettid_np.cpp Pass caller names to __pthread_internal_find for better errors. 2019-02-01 16:31:10 -08:00
pthread_internal.cpp Add an API for per-process disabling memory initialization. 2020-10-08 14:02:36 -07:00
pthread_internal.h Merge "Make fork equivalent to vfork when HWASan or MTE stack tagging is enabled." 2023-05-09 00:53:48 +00:00
pthread_join.cpp Pass caller names to __pthread_internal_find for better errors. 2019-02-01 16:31:10 -08:00
pthread_key.cpp Reorganize static TLS memory for ELF TLS 2019-01-11 15:34:22 -08:00
pthread_kill.cpp Make more pthread functions weak for native bridge 2019-09-25 16:55:47 +02:00
pthread_mutex.cpp Remove <pthread.h> cruft. 2023-02-27 21:31:11 +00:00
pthread_once.cpp
pthread_rwlock.cpp Implement new clock wait functions 2019-07-15 09:06:19 -07:00
pthread_self.cpp
pthread_setname_np.cpp Make more pthread functions weak for native bridge 2019-09-25 16:55:47 +02:00
pthread_setschedparam.cpp Make pthread_get/setschedparam weak for native bridge 2019-04-25 16:43:24 +02:00
pthread_sigqueue.cpp Make more pthread functions weak for native bridge 2019-09-25 16:55:47 +02:00
pthread_spinlock.cpp
ptrace.cpp
pty.cpp Cleanup for #inclusivefixit. 2020-07-28 12:12:20 -07:00
raise.cpp Make raise/abort work with stale cached pid/tid values. 2017-05-10 16:42:04 -07:00
rand.cpp
readlink.cpp Remove outdated _FORTIFY_SOURCE #undefs 2017-07-21 11:25:52 -07:00
realpath.cpp Reimplement realpath. 2020-01-22 18:30:50 -08:00
reboot.cpp Modernize codebase by replacing NULL with nullptr 2018-08-02 18:09:44 -07:00
recv.cpp Modernize codebase by replacing NULL with nullptr 2018-08-02 18:09:44 -07:00
recvmsg.cpp Make the atomic load explicit 2021-01-08 01:21:52 +00:00
rename.cpp Rewrite renameat(). 2022-10-04 20:13:49 +00:00
rmdir.cpp
scandir.cpp scandir: clarity improvements. 2023-03-28 22:35:24 +00:00
sched_cpualloc.c bionic: fix assorted static analyzer warnings 2017-06-28 15:03:15 -07:00
sched_cpucount.c Type of second __sched_cpucount should be "const cpu_set_t*". 2018-04-13 16:07:21 -07:00
sched_getaffinity.cpp
sched_getcpu.cpp Modernize codebase by replacing NULL with nullptr 2018-08-02 18:09:44 -07:00
scudo.h Add support for scudo svelte. 2019-12-16 16:22:55 -08:00
semaphore.cpp Stop using the __ANDROID_API_x__ constants. 2019-12-20 13:26:14 -08:00
send.cpp Modernize codebase by replacing NULL with nullptr 2018-08-02 18:09:44 -07:00
setegid.cpp
seteuid.cpp
setjmp_cookie.cpp Replace TLS_SLOT_BIONIC_PREINIT w/ shared globals 2018-12-04 13:51:56 -08:00
setpgrp.cpp
sigaction.cpp sigaction: don't call interposable symbol. 2020-05-19 18:40:50 -07:00
signal.cpp De-pessimize SigSetConverter usage. 2023-07-19 12:20:07 -07:00
sigprocmask.cpp De-pessimize SigSetConverter usage. 2023-07-19 12:20:07 -07:00
sleep.cpp sleep/usleep: switch to trivial implementations. 2019-10-28 22:25:02 -07:00
socketpair.cpp fdtrack: add wrapper for socketpair. 2020-04-29 17:21:16 -07:00
spawn.cpp De-pessimize SigSetConverter usage. 2023-07-19 12:20:07 -07:00
stat.cpp
stdlib_l.cpp Move non-locale.h APIs out of locale.cpp. 2017-07-12 12:41:47 -07:00
strchr.cpp Remove outdated _FORTIFY_SOURCE #undefs 2017-07-21 11:25:52 -07:00
strchrnul.cpp
strerror.cpp POSIX strerror_r returns an error number, not -1 2021-07-30 09:39:21 -07:00
string_l.cpp Move non-locale.h APIs out of locale.cpp. 2017-07-12 12:41:47 -07:00
strings_l.cpp Move non-locale.h APIs out of locale.cpp. 2017-07-12 12:41:47 -07:00
strnlen.c
strrchr.cpp Remove outdated _FORTIFY_SOURCE #undefs 2017-07-21 11:25:52 -07:00
strsignal.cpp Workaround string-plus-int warning 2019-02-28 15:54:58 -08:00
strtol.cpp Remove strtoq() and strtouq(). 2022-11-09 16:15:05 +00:00
strtold.cpp Remove __RENAME_LDBL. 2023-06-07 17:20:53 +00:00
swab.cpp Make swab(3) inline prior to API 28. 2020-08-07 13:10:51 -07:00
symlink.cpp
sync_file_range.cpp
sys_epoll.cpp De-pessimize SigSetConverter usage. 2023-07-19 12:20:07 -07:00
sys_msg.cpp Remove dead code. 2020-02-13 22:25:02 -08:00
sys_sem.cpp Remove dead code. 2020-02-13 22:25:02 -08:00
sys_shm.cpp Remove dead code. 2020-02-13 22:25:02 -08:00
sys_signalfd.cpp De-pessimize SigSetConverter usage. 2023-07-19 12:20:07 -07:00
sys_statfs.cpp Support statvfs on API levels before 19. 2019-08-29 21:57:58 -07:00
sys_statvfs.cpp Remove <sys/statvfs.h> inlines for API level 19. 2023-02-22 21:58:24 +00:00
sys_thread_properties.cpp Fix bug in finding another thread's TCB. 2020-10-15 10:28:19 -04:00
sys_time.cpp
sysconf.cpp Remove PAGE_SIZE call sites. 2023-06-12 10:59:39 -07:00
sysinfo.cpp Remove PAGE_SIZE call sites. 2023-06-12 10:59:39 -07:00
syslog.cpp syslog.h: implement LOG_PERROR. 2023-05-03 14:19:40 -07:00
sysprop_helpers.cpp Revert "Add debug logging for memtag level" 2023-05-17 20:59:14 +00:00
sysprop_helpers.h Revert "Add debug logging for memtag level" 2023-05-17 20:59:14 +00:00
system.cpp Add the missing '--' to shell invocations. 2021-11-04 17:29:35 -07:00
system_property_api.cpp Revert "Revert "Make system property reads wait-free"" 2019-11-12 20:41:55 +00:00
system_property_set.cpp Consistently use %m rather than strerror() in logging. 2023-07-12 21:16:31 +00:00
tdestroy.cpp Modernize codebase by replacing NULL with nullptr 2018-08-02 18:09:44 -07:00
termios.cpp Make inline tcsetattr definition match constants. 2017-07-05 12:00:29 -07:00
thread_private.cpp Reimplement popen(3)/pclose(3). 2018-07-11 12:15:26 -07:00
threads.cpp threads.h: Add C11 thread support. 2019-04-24 09:12:29 -07:00
time.cpp <time.h>: change the new C23 TIME_ constants. 2023-05-03 15:37:46 -07:00
time64.c Bump tzcode from 2016g to 2022a*. 2022-06-07 09:59:16 +01:00
time64_config.h
time_l.cpp Sync strptime.c with upstream. 2022-12-12 20:56:12 +00:00
tmpfile.cpp Make tmpfile() respect $TMPDIR. 2023-04-18 17:11:06 -07:00
umount.cpp
unlink.cpp
usleep.cpp sleep/usleep: switch to trivial implementations. 2019-10-28 22:25:02 -07:00
utmp.cpp Reimplement our no-op utmp.h functions more simply. 2020-08-07 17:07:31 -07:00
vdso.cpp riscv64: use vdso for __riscv_hwprobe(). 2023-07-31 12:24:31 -07:00
wait.cpp Modernize codebase by replacing NULL with nullptr 2018-08-02 18:09:44 -07:00
wchar.cpp Expose tzalloc()/localtime_rz()/mktime_z()/tzfree(). 2023-06-16 08:10:47 -07:00
wchar_l.cpp Expose tzalloc()/localtime_rz()/mktime_z()/tzfree(). 2023-06-16 08:10:47 -07:00
wcstod.cpp Remove __RENAME_LDBL. 2023-06-07 17:20:53 +00:00
wctype.cpp Optimize tolower(3)/toupper(3) from <ctype.h>. 2019-09-27 14:42:39 -07:00
wcwidth.cpp Implement wcwidth(3) in terms of icu4c. 2017-07-27 17:08:24 -07:00
wmempcpy.cpp