File: util.c

package info (click to toggle)
drgn 0.1.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 7,852 kB
  • sloc: python: 74,992; ansic: 54,589; awk: 423; makefile: 351; sh: 99
file content (19 lines) | stat: -rw-r--r-- 595 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// Copyright (c) 2024 Oracle and/or its affiliates
// SPDX-License-Identifier: LGPL-2.1-or-later
#include "util.h"

static _Thread_local int (*qsort_arg_compar)(const void *, const void *, void*);
static _Thread_local void *qsort_arg_arg;

static int qsort_arg_compar_wrapper(const void *a, const void *b)
{
	return qsort_arg_compar(a, b, qsort_arg_arg);
}

void qsort_arg(void *base, size_t nmemb, size_t size,
               int (*compar)(const void *, const void *, void*), void *arg)
{
	qsort_arg_compar = compar;
	qsort_arg_arg = arg;
	qsort(base, nmemb, size, qsort_arg_compar_wrapper);
}