|
37 | 37 | #include "tree.h"
|
38 | 38 | #include "unpack-trees.h"
|
39 | 39 | #include "xdiff-interface.h"
|
| 40 | +#include <stddef.h> |
40 | 41 |
|
41 | 42 | /*
|
42 | 43 | * We have many arrays of size 3. Whenever we have such an array, the
|
@@ -3949,13 +3950,14 @@ static void process_entry(struct merge_options *opt,
|
3949 | 3950 | static void prefetch_for_content_merges(struct merge_options *opt,
|
3950 | 3951 | struct string_list *plist)
|
3951 | 3952 | {
|
3952 |
| - struct string_list_item *e; |
3953 | 3953 | struct oid_array to_fetch = OID_ARRAY_INIT;
|
| 3954 | + size_t i; |
3954 | 3955 |
|
3955 | 3956 | if (opt->repo != the_repository || !has_promisor_remote())
|
3956 | 3957 | return;
|
3957 | 3958 |
|
3958 |
| - for (e = &plist->items[plist->nr-1]; e >= plist->items; --e) { |
| 3959 | + for (i = plist->nr; i; i--) { |
| 3960 | + struct string_list_item *e = &plist->items[i - 1]; |
3959 | 3961 | /* char *path = e->string; */
|
3960 | 3962 | struct conflict_info *ci = e->util;
|
3961 | 3963 | int i;
|
@@ -4000,10 +4002,10 @@ static void process_entries(struct merge_options *opt,
|
4000 | 4002 | struct hashmap_iter iter;
|
4001 | 4003 | struct strmap_entry *e;
|
4002 | 4004 | struct string_list plist = STRING_LIST_INIT_NODUP;
|
4003 |
| - struct string_list_item *entry; |
4004 | 4005 | struct directory_versions dir_metadata = { STRING_LIST_INIT_NODUP,
|
4005 | 4006 | STRING_LIST_INIT_NODUP,
|
4006 | 4007 | NULL, 0 };
|
| 4008 | + size_t i; |
4007 | 4009 |
|
4008 | 4010 | trace2_region_enter("merge", "process_entries setup", opt->repo);
|
4009 | 4011 | if (strmap_empty(&opt->priv->paths)) {
|
@@ -4041,7 +4043,8 @@ static void process_entries(struct merge_options *opt,
|
4041 | 4043 | */
|
4042 | 4044 | trace2_region_enter("merge", "processing", opt->repo);
|
4043 | 4045 | prefetch_for_content_merges(opt, &plist);
|
4044 |
| - for (entry = &plist.items[plist.nr-1]; entry >= plist.items; --entry) { |
| 4046 | + for (i = plist.nr; i; i--) { |
| 4047 | + struct string_list_item *entry = &plist.items[i - 1]; |
4045 | 4048 | char *path = entry->string;
|
4046 | 4049 | /*
|
4047 | 4050 | * NOTE: mi may actually be a pointer to a conflict_info, but
|
|
0 commit comments