Loading...
--- Libc/Libc-583/stdlib/qsort.3
+++ Libc/Libc-498/stdlib/qsort.3
@@ -41,19 +41,12 @@
.Os
.Sh NAME
.Nm heapsort ,
-#ifdef UNIFDEF_BLOCKS
-.Nm heapsort_b ,
-#endif
.Nm mergesort ,
-#ifdef UNIFDEF_BLOCKS
-.Nm mergesort_b ,
-#endif
.Nm qsort ,
-#ifdef UNIFDEF_BLOCKS
-.Nm qsort_b ,
-#endif
.Nm qsort_r
.Nd sort functions
+.Sh LIBRARY
+.Lb libc
.Sh SYNOPSIS
.In stdlib.h
.Ft int
@@ -63,15 +56,6 @@
.Fa "size_t width"
.Fa "int \*[lp]*compar\*[rp]\*[lp]const void *, const void *\*[rp]"
.Fc
-#ifdef UNIFDEF_BLOCKS
-.Ft int
-.Fo heapsort_b
-.Fa "void *base"
-.Fa "size_t nel"
-.Fa "size_t width"
-.Fa "int \*[lp]^compar\*[rp]\*[lp]const void *, const void *\*[rp]"
-.Fc
-#endif
.Ft int
.Fo mergesort
.Fa "void *base"
@@ -79,15 +63,6 @@
.Fa "size_t width"
.Fa "int \*[lp]*compar\*[rp]\*[lp]const void *, const void *\*[rp]"
.Fc
-#ifdef UNIFDEF_BLOCKS
-.Ft int
-.Fo mergesort_b
-.Fa "void *base"
-.Fa "size_t nel"
-.Fa "size_t width"
-.Fa "int \*[lp]^compar\*[rp]\*[lp]const void *, const void *\*[rp]"
-.Fc
-#endif
.Ft void
.Fo qsort
.Fa "void *base"
@@ -95,15 +70,6 @@
.Fa "size_t width"
.Fa "int \*[lp]*compar\*[rp]\*[lp]const void *, const void *\*[rp]"
.Fc
-#ifdef UNIFDEF_BLOCKS
-.Ft void
-.Fo qsort_b
-.Fa "void *base"
-.Fa "size_t nel"
-.Fa "size_t width"
-.Fa "int \*[lp]^compar\*[rp]\*[lp]const void *, const void *\*[rp]"
-.Fc
-#endif
.Ft void
.Fo qsort_r
.Fa "void *base"
@@ -141,7 +107,7 @@
.Em requires
that
.Fa width
-be greater than or equal to
+be greater than
.Dq "sizeof(void *) / 2" .
.Pp
The contents of the array
@@ -237,49 +203,20 @@
.Fn heapsort .
Memory availability and pre-existing order in the data can make this
untrue.
-#ifdef UNIFDEF_BLOCKS
-.Pp
-The
-.Fn heapsort_b ,
-.Fn mergesort_b ,
-and
-.Fn qsort_b
-routines are like the corresponding routines without the _b suffix, expect
-that the
-.Fa compar
-callback is a block pointer instead of a function pointer.
-#endif
.Sh RETURN VALUES
The
-#ifdef UNIFDEF_BLOCKS
-.Fn qsort ,
-.Fn qsort_b
-#else
-.Fn qsort
-#endif
+.Fn qsort
and
.Fn qsort_r
functions
return no value.
.Pp
-#ifdef UNIFDEF_BLOCKS
-.ds HEAPSORT_B heapsort_b
-.ds MERGESORT_B mergesort_b
-#endif
-.Rv -std heapsort \*[HEAPSORT_B] mergesort \*[MERGESORT_B]
+.Rv -std heapsort mergesort
.Sh ERRORS
The
-#ifdef UNIFDEF_BLOCKS
-.Fn heapsort ,
-.Fn heapsort_b ,
-.Fn mergesort
-and
-.Fn mergesort_b
-#else
-.Fn heapsort
-and
-.Fn mergesort
-#endif
+.Fn heapsort
+and
+.Fn mergesort
functions succeed unless:
.Bl -tag -width Er
.It Bq Er EINVAL
@@ -290,25 +227,13 @@
.Fa width
argument to
.Fn mergesort
-#ifdef UNIFDEF_BLOCKS
-or
-.Fn mergesort_b
-#endif
is less than
.Dq "sizeof(void *) / 2" .
.It Bq Er ENOMEM
The
-#ifdef UNIFDEF_BLOCKS
-.Fn heapsort ,
-.Fn heapsort_b ,
-.Fn mergesort
-and
-.Fn mergesort_b
-#else
-.Fn heapsort
-and
-.Fn mergesort
-#endif
+.Fn heapsort
+or
+.Fn mergesort
functions
were unable to allocate memory.
.El