#include "system.h"
#include <rpmiotypes.h>
#include <rpmtag.h>
#include <rpmdb.h>
#include "debug.h"
Go to the source code of this file.
|
#define | NATURAL |
|
#define | THRESHOLD 16 /* Best choice for natural merge cut-off. */ |
|
#define | ISIZE sizeof(int) |
|
#define | PSIZE sizeof(unsigned char *) |
|
#define | ICOPY_LIST(src, dst, last) |
|
#define | ICOPY_ELT(src, dst, i) |
|
#define | CCOPY_LIST(src, dst, last) |
|
#define | CCOPY_ELT(src, dst, i) |
|
#define | EVAL(p) |
|
#define | swap(a, b) |
|
#define | reverse(bot, top) |
|
|
static void | insertionsort (unsigned char *a, size_t n, size_t size, int(*cmp)(const void *, const void *)) |
|
static void | setup (unsigned char *list1, unsigned char *list2, size_t n, size_t size, int(*cmp)(const void *, const void *)) |
|
int | rpm_mergesort (void *base, size_t nmemb, size_t size, int(*cmp)(const void *, const void *)) |
| Mergesort, same arguments as qsort(2). More...
|
|
#define CCOPY_ELT |
( |
|
src, |
|
|
|
dst, |
|
|
|
i |
|
) |
| |
#define CCOPY_LIST |
( |
|
src, |
|
|
|
dst, |
|
|
|
last |
|
) |
| |
#define ICOPY_ELT |
( |
|
src, |
|
|
|
dst, |
|
|
|
i |
|
) |
| |
Value:do \
*(
int*) dst = *(
int*) src, src +=
ISIZE, dst +=
ISIZE;
\
while((rc=poptGetNextOpt(optCon)) > 0)
Definition at line 70 of file merge.c.
Referenced by rpm_mergesort().
#define ICOPY_LIST |
( |
|
src, |
|
|
|
dst, |
|
|
|
last |
|
) |
| |
#define ISIZE sizeof(int) |
#define reverse |
( |
|
bot, |
|
|
|
top |
|
) |
| |
Value:
tmp = *a; *a++ = *
s; *
s++ = tmp; \
}
int
Save source and expand field into target.
Definition at line 94 of file merge.c.
Referenced by insertionsort(), and setup().
#define THRESHOLD 16 /* Best choice for natural merge cut-off. */ |
int rpm_mergesort |
( |
void * |
base, |
|
|
size_t |
nmemb, |
|
|
size_t |
size, |
|
|
int(*)(const void *, const void *) |
cmp |
|
) |
| |
Mergesort, same arguments as qsort(2).
Definition at line 213 of file merge.c.
References b, CCOPY_ELT, CCOPY_LIST, errno, EVAL, i, ICOPY_ELT, ICOPY_LIST, int, ISIZE, NULL, p, PSIZE, q, setup(), size, and t.
Referenced by rpmmiSort().