History log of /freebsd-10-stable/sys/libkern/qsort.c
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 319291 31-May-2017 delphij

MFC r318514-r318515, r318517, r318917

r318514:
Use size_t.

Inspired by: OpenBSD src/lib/libc/stdlib/qsort.c,v 1.11

r318515:
The current qsort(3) implementation ignores the sizes of partitions, and
always perform recursion on the left partition, then use a tail call to
handle the right partition. In the worst case this could require O(N)
levels of recursions.

Reduce the possible recursion level to log2(N) by always recursing on the
smaller partition instead.

Obtained from: PostgreSQL 9d6077abf9d6efd992a59f05ef5aba981ea32096

r318517:
Sync qsort.c with userland r318515.

(Note that MIN macro is removed in favor of sys/param.h's version).

PR: 213922

r318917:
Disconnect heimdal version of qsort.c from build because we are already
using libc's version of qsort.

PR: bin/213922


# 319286 31-May-2017 delphij

MFC r311989 (cem):

libkern: Remove obsolete 'register' keyword


# 256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

# 132228 15-Jul-2004 glebius

Copy qsort_r(3) from libc to libkern.

Reviewed by: phk
Approved by: julian (mentor)


# 128019 07-Apr-2004 imp

Remove advertising clause from University of California Regent's
license, per letter dated July 22, 1999 and email from Peter Wemm,
Alan Cox and Robert Watson.

Approved by: core, peter, alc, rwatson


# 116189 11-Jun-2003 obrien

Use __FBSDID().


# 106696 09-Nov-2002 alfred

Fix instances of macros with improperly parenthasized arguments.

Verified by: md5


# 92741 20-Mar-2002 alfred

Remove __P.


# 50477 27-Aug-1999 peter

$Id$ -> $FreeBSD$


# 37289 30-Jun-1998 phk

#include sys/libkern.h instead of stdlib.h.
PR: 7105
Reviewed by: phk
Submitted by: Robert Watson <robert+freebsd@cyrus.watson.org>


# 35210 15-Apr-1998 bde

Support compiling with `gcc -ansi'.


# 22975 22-Feb-1997 peter

Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not
ready for it yet.


# 21673 14-Jan-1997 jkh

Make the long-awaited change from $Id$ to $FreeBSD$

This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore. This update would have been
insane otherwise.


# 17971 31-Aug-1996 bde

Don't depend in the kernel on the gcc feature of doing arithmetic on
pointers of type `void *'. Warn about this in future.


# 17880 28-Aug-1996 bde

Removed sccsids and rcsids and added Id$ to save space like everything
else in libkern.


# 15312 19-Apr-1996 bde

Don't include <sys/types.h> when it isn't used.

This commit covers most of the ANSI library functions. Many others only
need <sys/types.h> because they use u_xxx.


# 13030 26-Dec-1995 bde

Added prototypes.


# 12151 08-Nov-1995 phk

Add qsort() to libkern, taken from libc.