X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;ds=sidebyside;f=diffcore-order.c;h=7ad09461858aa6832b828df411fd1b736f035465;hb=ff1f99453f1fe2fd9470f6ea268aed5a1839bd09;hp=a03862c1ce73995065bf838b408e8a6d9396025b;hpb=89ab859e9452cbc8f1f15afab52257e9b789c899;p=git.git diff --git a/diffcore-order.c b/diffcore-order.c index a03862c1c..7ad094618 100644 --- a/diffcore-order.c +++ b/diffcore-order.c @@ -4,7 +4,6 @@ #include "cache.h" #include "diff.h" #include "diffcore.h" -#include static char **order; static int order_cnt; @@ -28,9 +27,9 @@ static void prepare_order(const char *orderfile) } map = mmap(NULL, st.st_size, PROT_READ|PROT_WRITE, MAP_PRIVATE, fd, 0); close(fd); - if (-1 == (int)(long)map) + if (map == MAP_FAILED) return; - endp = map + st.st_size; + endp = (char *) map + st.st_size; for (pass = 0; pass < 2; pass++) { cnt = 0; cp = map; @@ -105,9 +104,13 @@ static int compare_pair_order(const void *a_, const void *b_) void diffcore_order(const char *orderfile) { struct diff_queue_struct *q = &diff_queued_diff; - struct pair_order *o = xmalloc(sizeof(*o) * q->nr); + struct pair_order *o; int i; + if (!q->nr) + return; + + o = xmalloc(sizeof(*o) * q->nr); prepare_order(orderfile); for (i = 0; i < q->nr; i++) { o[i].pair = q->queue[i];