X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=diffcore-order.c;h=aef6da60447b98a05d91513b4aa74e505b0a0d84;hb=9861718b305a672f3d17936ea6a6cbd9d9a70059;hp=a03862c1ce73995065bf838b408e8a6d9396025b;hpb=07ee0d77c66d6f356cd3f82435e67510779aa53c;p=git.git diff --git a/diffcore-order.c b/diffcore-order.c index a03862c1c..aef6da604 100644 --- a/diffcore-order.c +++ b/diffcore-order.c @@ -28,9 +28,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 +105,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];