merge(third_party/git): Merge squashed git subtree at v2.23.0
Merge commit '1b593e1ea4' as 'third_party/git'
This commit is contained in:
commit
7ef0d62730
3629 changed files with 1139935 additions and 0 deletions
50
third_party/git/t/helper/test-prio-queue.c
vendored
Normal file
50
third_party/git/t/helper/test-prio-queue.c
vendored
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
#include "test-tool.h"
|
||||
#include "cache.h"
|
||||
#include "prio-queue.h"
|
||||
|
||||
static int intcmp(const void *va, const void *vb, void *data)
|
||||
{
|
||||
const int *a = va, *b = vb;
|
||||
return *a - *b;
|
||||
}
|
||||
|
||||
static void show(int *v)
|
||||
{
|
||||
if (!v)
|
||||
printf("NULL\n");
|
||||
else
|
||||
printf("%d\n", *v);
|
||||
free(v);
|
||||
}
|
||||
|
||||
int cmd__prio_queue(int argc, const char **argv)
|
||||
{
|
||||
struct prio_queue pq = { intcmp };
|
||||
|
||||
while (*++argv) {
|
||||
if (!strcmp(*argv, "get")) {
|
||||
void *peek = prio_queue_peek(&pq);
|
||||
void *get = prio_queue_get(&pq);
|
||||
if (peek != get)
|
||||
BUG("peek and get results do not match");
|
||||
show(get);
|
||||
} else if (!strcmp(*argv, "dump")) {
|
||||
void *peek;
|
||||
void *get;
|
||||
while ((peek = prio_queue_peek(&pq))) {
|
||||
get = prio_queue_get(&pq);
|
||||
if (peek != get)
|
||||
BUG("peek and get results do not match");
|
||||
show(get);
|
||||
}
|
||||
} else if (!strcmp(*argv, "stack")) {
|
||||
pq.compare = NULL;
|
||||
} else {
|
||||
int *v = xmalloc(sizeof(*v));
|
||||
*v = atoi(*argv);
|
||||
prio_queue_put(&pq, v);
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue