freebsd-dev/include
Aymeric Wibo 05c9a0158f libc: Add strverscmp(3) and versionsort(3)
Add a strverscmp(3) function to libc, a GNU extension I implemented by
reading its glibc manual page. It orders strings following a much more
natural ordering (e.g. "ent1 < ent2 < ent10" as opposed to
"ent1 < ent10 < ent2" with strcmp(3)'s lexicographic ordering).

Also add versionsort(3) for use as scandir(3)'s compar argument.

Update manual page for scandir(3) and add one for strverscmp(3).

Reviewed by:	pstef, gbe, kib
MFC after:	1 week
Differential Revision: https://reviews.freebsd.org/D35807
2022-08-25 03:29:03 +03:00
..
arpa SPDX: license IDs for some ISC-related files. 2017-12-08 15:57:29 +00:00
gssapi Add META_MODE support. 2015-06-13 19:20:56 +00:00
i386 include/i386: fix release builds 2022-06-13 21:37:34 +01:00
protocols Clean up global variable declarations in the dump and restore 2020-04-04 00:56:56 +00:00
rpc rpcbind: get contact addr from xprt members 2022-06-13 08:54:08 -05:00
rpcsvc Increase YPMAXRECORD to 16M to be compatible with Linux. 2019-08-12 20:27:33 +00:00
xlocale Remove 'All Rights Reserved' from xlocale FreeBSD Foundation copyrights 2021-12-16 14:29:12 -05:00
_ctype.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
a.out.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
ar.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
assert.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
bitstring.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
complex.h Implementations of cexpl() 2021-11-05 13:51:42 +02:00
cpio.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
ctype.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
db.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
dirent.h libc: Add strverscmp(3) and versionsort(3) 2022-08-25 03:29:03 +03:00
dlfcn.h Implement RTLD_DEEPBIND. 2020-05-15 11:58:01 +00:00
elf-hints.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
elf.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
err.h Avoid implicit gcc nonnull attribute in vwarnx(). 2018-01-28 19:37:30 +00:00
fmtmsg.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
fnmatch.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
fstab.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
fts.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
ftw.h SPDX: license IDs for some ISC-related files. 2017-12-08 15:57:29 +00:00
getopt.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
glob.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
grp.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
gssapi.h
hesiod.h SPDX: license IDs for some ISC-related files. 2017-12-08 15:57:29 +00:00
iconv.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
ieeefp.h People porting FreeBSD to new architectures ought not have to 2011-10-21 06:41:46 +00:00
ifaddrs.h SPDX: mostly fixes to previous changes. 2017-12-13 16:13:17 +00:00
inttypes.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
iso646.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
kenv.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
langinfo.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
libgen.h Remove basename_r(3). 2017-12-08 22:06:18 +00:00
limits.h Reduce NL_ARGMAX to 4096 to match Linux. 2018-10-04 21:55:58 +00:00
link.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
locale.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
Makefile amd64: add an i386 include directory 2022-06-13 18:35:38 +01:00
Makefile.depend new depends 2015-06-16 23:37:19 +00:00
malloc_np.h Add memalign(3), mostly for glibc compatibility. 2020-05-14 21:12:08 +00:00
malloc.h Make include/malloc.h usable again. 2020-05-12 18:17:57 +00:00
memory.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
mk-osreldate.sh Move to using newvers -c instead of VARS_ONLY=1 2019-05-23 17:19:05 +00:00
monetary.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
mpool.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
mqueue.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
ndbm.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
netconfig.h netconfig.h: sync with upstream. 2017-11-27 17:18:31 +00:00
netdb.h Fix mismatch from r342379. 2018-12-23 20:51:13 +00:00
nl_types.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
nlist.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
nss.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
nsswitch.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
paths.h Add search of LOCALBASE/share/calendar for calendars supplied by a port. 2020-10-23 09:22:23 +00:00
printf.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
proc_service.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
pthread_np.h Revert r361770 "Add pthread_getname_np() and pthread_setname_np() aliases" for now. 2020-06-04 09:06:03 +00:00
pthread.h Reduce code duplication in machine/_types.h 2021-06-14 16:30:16 +01:00
pwd.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
ranlib.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
readpassphrase.h SPDX: license IDs for some ISC-related files. 2017-12-08 15:57:29 +00:00
regex.h <regex.h>: reserve a regcomp field for REG_POSIX 2020-07-31 12:40:31 +00:00
res_update.h SPDX: license IDs for some ISC-related files. 2017-12-08 15:57:29 +00:00
resolv.h SPDX: license IDs for some ISC-related files. 2017-12-08 15:57:29 +00:00
runetype.h Remove __NO_TLS. 2021-02-23 20:08:10 +02:00
sched.h sched.h: Use pid_t type for pid argument 2021-12-17 08:22:21 +02:00
search.h Improve typing of POSIX search tree functions. 2016-10-13 18:25:40 +00:00
semaphore.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
setjmp.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
signal.h Add sigsetop extensions commonly found in musl libc and glibc 2019-12-12 01:41:55 +00:00
spawn.h posix_spawn: add closefrom non-portable action 2021-11-30 03:43:54 +02:00
stab.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
stdalign.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
stdbool.h Remove obsolete check for GCC < 3 and support for Intel Compiler 2020-10-24 23:21:06 +00:00
stddef.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
stdio.h libc: provide fputc_unlocked 2020-02-02 19:45:12 +00:00
stdlib.h libc: add clearenv function 2021-11-07 16:20:15 +01:00
stdnoreturn.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
string.h libc: Add strverscmp(3) and versionsort(3) 2022-08-25 03:29:03 +03:00
stringlist.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
strings.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
sysexits.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
tar.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
termios.h Add tcgetwinsize(3) and tcsetwinsize(3) to termios 2020-12-25 20:43:09 +02:00
tgmath.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
time.h time.h: reduce CLOCK_ namespace pollution, move to _clock_id.h 2021-07-30 17:20:22 -06:00
timeconv.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
timers.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
ttyent.h Improve missing tty handling in init(8). This removes a check that did 2018-02-27 10:54:15 +00:00
uchar.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
ulimit.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
unistd.h swapoff: add one more variant of the syscall 2021-12-09 02:48:46 +02:00
utime.h include: further adoption of SPDX licensing ID tags. 2017-11-20 19:45:28 +00:00
utmpx.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
uuid.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
varargs.h We don't support gcc < 4.2.1, so varargs.h now is just #error 2018-02-12 14:48:14 +00:00
wchar.h libc: add mempcpy(3) and wmempcpy(3) 2021-07-15 19:40:28 +03:00
wctype.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
wordexp.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00
xlocale.h include: General further adoption of SPDX licensing ID tags. 2017-11-25 17:09:43 +00:00