freebsd-dev/lib
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
..
atf Do not build libatf-c++ when WITHOUT_CXX 2021-10-29 10:08:24 -04:00
clang Avoid using TARGET_ARCH in llvm.build.mk 2022-08-14 13:11:52 +02:00
csu Revert "csu: test: explicitly add libm as build parameter" 2022-07-28 11:23:26 -03:00
flua jail(3lua): add jail.attach()/jail.remove() methods 2021-09-30 16:31:04 -05:00
geom gmirror.8: Remove references rc.early 2022-07-21 22:02:44 +02:00
googletest googletest: Silence warnings about deprecated implicit copy constructors 2021-08-26 22:06:53 +02:00
lib9p lib9p: fix building on systems without capser 2021-01-04 20:48:48 +01:00
lib80211 lib80211: Start adding 11ac ETSI bits to regdomain.xml 2021-03-18 11:09:10 +00:00
libalias Rename NO_WERROR -> MK_WERROR=no 2021-01-07 09:31:03 +00:00
libarchive libarchive: fix zstd compression support 2022-04-08 10:11:25 +02:00
libauditd libauditd: make it a PRIVATELIB 2020-04-19 02:20:39 +00:00
libbe bectl: push space-in-name check down into libbe 2022-04-02 21:04:31 -05:00
libbearssl Revert that! 2020-07-19 23:56:19 +00:00
libbegemot Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libblacklist Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libblocksruntime Move all sources from the llvm project into contrib/llvm-project. 2019-12-20 19:53:05 +00:00
libbluetooth bluetooth: Remove one more h4 reference. 2021-09-29 22:02:25 -06:00
libbsddialog bsddialog(3): fix disabled shadow 2022-04-20 17:52:04 +02:00
libbsdstat Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libbsm libbsm: fix some MLINKS 2020-04-19 02:18:40 +00:00
libbsnmp pkgbase: Put the mibs and defs in the bnsmp package 2021-06-19 17:50:03 +02:00
libbz2 Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libc libc: Add strverscmp(3) and versionsort(3) 2022-08-25 03:29:03 +03:00
libc_nonshared
libc++ Apply libc++ fix for <ranges> not compiling at all 2022-05-14 13:46:39 +02:00
libc++experimental Merge llvm-project release/13.x llvmorg-13.0.0-rc1-97-g23ba3732246a 2021-11-13 21:42:03 +01:00
libcalendar Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libcam cam_get_device: resolve path links before parsing device name 2022-01-26 11:25:31 +02:00
libcapsicum Add missing FreeBSD functions to -legacy when building on macOS/Linux 2020-08-25 13:23:31 +00:00
libcasper Replace a dead cross reference with the proper (I think) macro. 2022-08-13 22:55:10 +02:00
libcbor Add libcbor to the build 2021-10-15 15:10:24 -04:00
libclang_rt libclang_rt: Trim a few more MIPSisms. 2022-06-30 10:02:37 -07:00
libcom_err pkgbase: Create a FreeBSD-kerberos package 2021-09-07 10:23:14 +02:00
libcompat
libcompiler_rt Build compiler-rt against libunwind, not libcxxrt 2022-03-09 22:23:35 +01:00
libcrypt libcrypt: Drop inclusion of libutil.h 2021-12-07 00:24:19 +00:00
libcuse cuse(3): Make some clarifications in the manual page. 2022-07-20 10:41:11 +02:00
libcxxrt Sort SRCS in libcxxrt's Makefile, and use += to list sources 2022-01-22 21:08:55 +01:00
libdevctl libdevctl: Add devctl_getpath 2022-03-01 08:06:41 -07:00
libdevdctl Fix race in case of device destruction. 2021-04-13 11:25:27 -04:00
libdevinfo devinfo: add man page links 2020-08-04 21:09:36 +00:00
libdevstat Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libdl libc: include rtld.h into static implementations of rtld interface 2021-04-09 23:46:24 +03:00
libdpv Indicate the port where the referenced man pages come from. 2022-08-16 20:57:30 +02:00
libdwarf libdwarf: Add a weak uncompress() symbol 2021-12-13 18:47:15 -05:00
libedit ncurses: chase dependency changes in the source tree 2021-10-04 11:38:24 +02:00
libefivar libefivar(3): Fix a typo in a source code comment 2022-03-28 19:27:58 +02:00
libelf libelf: Link gelf_getchdr.3 to the build 2021-11-29 13:57:24 -05:00
libelftc Update ELF Tool Chain to upstream r3769 2019-12-05 13:20:15 +00:00
libevent1 rename in-tree libevent v1 to libevent1 2020-05-28 22:05:50 +00:00
libexecinfo Move all sources from the llvm project into contrib/llvm-project. 2019-12-20 19:53:05 +00:00
libexpat MFV f83ac37f1e: libbsdxml (expat) 2.4.3. 2022-01-17 16:34:41 -08:00
libfetch libfetch: remove a set-but-not-uswed variable 2022-04-20 16:58:33 +02:00
libfido2 Add libfido2 to the build 2021-10-22 19:57:57 -04:00
libfigpar Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libgcc_eh Merge llvm-project release/14.x llvmorg-14-init-18315-g190be5457c90 2022-05-14 13:45:25 +02:00
libgcc_s Export _Unwind_Complete and _Unwind_VRS_Pop from arm's libgcc_s 2022-04-27 11:04:10 +02:00
libgeom Clarify when GEOM utilities exit with success or failure. 2022-07-16 10:26:51 -07:00
libgpio Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libgssapi pkgbase: split kerberos binaries and libs 2022-08-03 11:02:28 +01:00
libiconv_modules iconv_std: complete the //IGNORE support 2022-08-11 11:42:20 -05:00
libifconfig libifconfig: Overhaul ifconfig_media_* interfaces 2021-03-05 04:15:55 -05:00
libipsec ipsec(4): Fix a typo in a source code comment 2022-06-04 12:28:20 +02:00
libipt Update Intel Processor Trace decoder library. 2019-10-10 12:46:34 +00:00
libiscsiutil iscsi: per-session timeouts and rapid teardown of session on reconnect 2022-02-25 10:35:47 +01:00
libjail libjail: Handle an error from reallocarray() when trimming the buffer. 2020-01-07 21:44:27 +00:00
libkiconv libkiconv: address memory leak in not-found cases 2021-04-22 19:32:34 -04:00
libkvm kern_tc.c/cputick2usec() (which is used to calculate cputime from 2022-03-21 09:33:46 -04:00
libldns Update Makefile.depend files 2019-12-11 17:37:53 +00:00
liblua contrib/lua: update to 5.4.2 2021-01-13 23:56:18 -06:00
liblutok Add liblutok a lightweight C++ API for lua. 2020-03-23 18:26:23 +00:00
liblzma Install working pkgconfig .pc files for compat libraries 2022-08-11 23:18:34 +01:00
libmagic Install working pkgconfig .pc files for compat libraries 2022-08-11 23:18:34 +01:00
libmd Fix wrong section number in man page cross references. 2022-08-13 22:42:23 +02:00
libmemstat sys/bitset.h: reduce visibility of BIT_* macros 2021-12-05 23:00:25 +01:00
libmilter Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libmixer mixer.4 and mixer.8: Fix mandoc -Tlint errors. 2022-03-20 20:21:03 +01:00
libmp Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libmt mt(3): Fix a typo in the manual page 2022-04-06 18:41:08 +02:00
libnetbsd libnetbsd: Fix a typo in a source code comment 2022-04-02 14:53:56 +02:00
libnetgraph Retire synchronous PPP kernel driver sppp(4). 2021-10-22 11:41:36 -07:00
libnetmap libnetmap: reset errno in nmreq_register_decode() 2021-04-02 14:31:57 +00:00
libngatm Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libnv libnv: bump library version 2022-07-22 00:23:08 +02:00
libomp Merge llvm-project release/14.x llvmorg-14-init-18315-g190be5457c90 2022-05-14 13:45:25 +02:00
libopenbsd Only set WARNS if not defined 2020-09-11 13:28:37 +00:00
libopencsd Update opencsd to 0.14.2 2020-06-17 10:42:20 +00:00
libopie Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libpam pam_exec: fix segfault when authtok is null 2022-05-22 12:36:48 -04:00
libpathconv libpathconv: bump man page dates 2022-08-09 10:05:31 +02:00
libpcap MFV r353141 (by phillip): 2019-12-21 21:01:03 +00:00
libpe
libpfctl pf: support matching on tags for Ethernet rules 2022-06-20 10:16:20 +02:00
libpjdlog pkgbase: Create a FreeBSD-utilities package and make it the default one 2019-09-05 14:15:47 +00:00
libpmc Add pmc.dmc-620(3) man page. 2022-07-26 11:17:50 +03:00
libpmcstat libpmcstat: Fix a few ARM-specific issues with function symbols. 2022-03-10 15:39:53 -08:00
libproc libproc: replace home grown crc32 with zlib implementation. 2022-07-10 16:31:35 -07:00
libprocstat libprocstat: document procstat_getadvlock(3) 2022-04-10 00:47:49 +03:00
libradius libradius: fix WITHOUT_OPENSSL build 2021-10-28 17:05:53 -04:00
libregex pkgbase: Put more binaries/lib in runtime 2021-12-21 10:17:27 +01:00
librpcsec_gss Fix a few mandoc issues 2020-10-09 19:12:44 +00:00
librpcsvc pkgbase: Put more binaries/lib in runtime 2021-12-21 10:17:27 +01:00
librss Update Makefile.depend files 2019-12-11 17:37:53 +00:00
librt Fix aio_readv(2), aio_writev(2) with SIGEV_THREAD. 2021-08-22 23:49:23 +12:00
librtld_db librtld_db: Handle shlibs with discontiguous mappings. 2021-12-03 11:07:30 -08:00
libsbuf Do a sweep and remove most WARNS=6 settings 2020-10-01 01:10:51 +00:00
libsdp Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libsecureboot Add -S option to veriexec 2022-07-19 08:59:53 -07:00
libsm Merge sendmail 8.16.1 to HEAD: See contrib/sendmail/RELEASE_NOTES for details 2020-07-15 18:28:54 +00:00
libsmb
libsmdb Merge sendmail 8.16.1 to HEAD: See contrib/sendmail/RELEASE_NOTES for details 2020-07-15 18:28:54 +00:00
libsmutil
libsqlite3 [PowerPC64LE] Pass our byte order to the sqlite3 build. 2020-09-23 02:17:44 +00:00
libssp libssp: don't compile with -fstack-protector* 2020-03-14 15:15:27 +00:00
libssp_nonshared Provide libssp based on libc 2020-01-04 20:19:25 +00:00
libstats Make use of the stats(3) framework in the TCP stack. 2019-12-02 20:58:04 +00:00
libstdbuf
libstdthreads Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libsysdecode libsysdecode: Grab some more ioctl definitions from CAM 2022-06-30 10:31:26 -04:00
libtacplus libtacplus: Remove bogus srandomdev+random 2019-12-13 05:11:34 +00:00
libtelnet
libthr Remove PAGE_SIZE from libthr 2022-05-03 11:04:41 +01:00
libthread_db mips: Remove thread_db support 2021-12-31 00:14:53 -07:00
libucl Only set WARNS if not defined 2020-09-11 13:28:37 +00:00
libufs Move the ability to search for alternate UFS superblocks from fsck_ffs(8) 2022-08-13 12:43:40 -07:00
libugidfw Deduplicate fsid comparisons 2020-05-21 01:55:35 +00:00
libulog Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libunbound MFV r361322: 2020-05-21 21:00:46 +00:00
libusb Install working pkgconfig .pc files for compat libraries 2022-08-11 23:18:34 +01:00
libusbhid usbhid(3): Fix a typo in the manual page 2022-06-04 19:54:25 +02:00
libutil libutil: Fix mandoc warnings 2022-08-07 16:30:24 +02:00
libveriexec Do not claim libbearssl et al are INTERNALLIB 2020-04-01 05:45:12 +00:00
libvgl Update Makefile.depend files 2019-12-11 17:37:53 +00:00
libvmmapi bhyve: Initialize more registers in vcpu_reset() 2022-07-27 18:20:47 +02:00
libwrap pkgbase: Put more binaries/lib in runtime 2021-12-21 10:17:27 +01:00
libxo add blank line between variables (testing git commit) 2021-08-04 16:56:55 -04:00
liby
libypclnt pkgbase: Put more binaries/lib in runtime 2021-12-21 10:17:27 +01:00
libz Install working pkgconfig .pc files for compat libraries 2022-08-11 23:18:34 +01:00
libzstd Disable clang 14 warning about bitwise operators in zstd 2022-02-08 21:46:08 +01:00
msun [libm] Correct comments in s_cbrt[l].c 2022-08-04 19:33:34 +02:00
ncurses Install working pkgconfig .pc files for compat libraries 2022-08-11 23:18:34 +01:00
ofed irdma: Add RDMA driver for Intel(R) Ethernet Controller E810 2022-05-23 16:52:49 -07:00
tests
Makefile lib: Gate libfigpar under MK_DIALOG 2022-08-16 21:15:12 +02:00
Makefile.inc build: provide a default WARNS for all in-tree builds 2020-09-18 17:17:46 +00:00