Move linux qsort def to platform header
Moving qsort to the platform header allows each platform to provide an appropriate sorting implementation. Reviewed-by: Allan Jude <allanjude@freebsd.org> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Matt Macy <mmacy@FreeBSD.org> Closes #9663
This commit is contained in:
parent
e69bb31b71
commit
74d1d74959
|
@ -192,7 +192,11 @@ extern void spl_cleanup(void);
|
|||
#define SET_ERROR(err) \
|
||||
(__set_error(__FILE__, __func__, __LINE__, err), err)
|
||||
|
||||
#if defined(_KERNEL) && !defined(_KMEMUSER) && !defined(offsetof)
|
||||
#include <linux/sort.h>
|
||||
#define qsort(base, num, size, cmp) \
|
||||
sort(base, num, size, cmp, NULL)
|
||||
|
||||
#if !defined(_KMEMUSER) && !defined(offsetof)
|
||||
|
||||
/* avoid any possibility of clashing with <stddef.h> version */
|
||||
|
||||
|
|
|
@ -244,7 +244,7 @@ static void auxsort (lua_State *L, int l, int u) {
|
|||
} /* repeat the routine for the larger one */
|
||||
}
|
||||
|
||||
static int sort (lua_State *L) {
|
||||
static int tsort (lua_State *L) {
|
||||
int n = aux_getn(L, 1);
|
||||
luaL_checkstack(L, 40, ""); /* assume array is smaller than 2^40 */
|
||||
if (!lua_isnoneornil(L, 2)) /* is there a 2nd argument? */
|
||||
|
@ -266,7 +266,7 @@ static const luaL_Reg tab_funcs[] = {
|
|||
{"pack", pack},
|
||||
{"unpack", unpack},
|
||||
{"remove", tremove},
|
||||
{"sort", sort},
|
||||
{"sort", tsort},
|
||||
{NULL, NULL}
|
||||
};
|
||||
|
||||
|
|
|
@ -41,11 +41,7 @@
|
|||
#include "zfs_prop.h"
|
||||
#include "zfs_deleg.h"
|
||||
|
||||
#if defined(_KERNEL)
|
||||
#include <linux/sort.h>
|
||||
#define qsort(base, num, size, cmp) \
|
||||
sort(base, num, size, cmp, NULL)
|
||||
#else
|
||||
#if !defined(_KERNEL)
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
|
|
Loading…
Reference in New Issue