Merge branch 'rs/copy-array' into maint
Code cleanup. * rs/copy-array: use COPY_ARRAY add COPY_ARRAYmaint
						commit
						a813b19190
					
				|  | @ -26,7 +26,7 @@ static const char **internal_copy_pathspec(const char *prefix, | |||
| 	int i; | ||||
| 	const char **result; | ||||
| 	ALLOC_ARRAY(result, count + 1); | ||||
| 	memcpy(result, pathspec, count * sizeof(const char *)); | ||||
| 	COPY_ARRAY(result, pathspec, count); | ||||
| 	result[count] = NULL; | ||||
| 	for (i = 0; i < count; i++) { | ||||
| 		int length = strlen(result[i]); | ||||
|  |  | |||
							
								
								
									
										2
									
								
								commit.c
								
								
								
								
							
							
						
						
									
										2
									
								
								commit.c
								
								
								
								
							|  | @ -931,7 +931,7 @@ static int remove_redundant(struct commit **array, int cnt) | |||
| 	} | ||||
|  | ||||
| 	/* Now collect the result */ | ||||
| 	memcpy(work, array, sizeof(*array) * cnt); | ||||
| 	COPY_ARRAY(work, array, cnt); | ||||
| 	for (i = filled = 0; i < cnt; i++) | ||||
| 		if (!redundant[i]) | ||||
| 			array[filled++] = work[i]; | ||||
|  |  | |||
|  | @ -0,0 +1,26 @@ | |||
| @@ | ||||
| type T; | ||||
| T *dst; | ||||
| T *src; | ||||
| expression n; | ||||
| @@ | ||||
| - memcpy(dst, src, n * sizeof(*dst)); | ||||
| + COPY_ARRAY(dst, src, n); | ||||
|  | ||||
| @@ | ||||
| type T; | ||||
| T *dst; | ||||
| T *src; | ||||
| expression n; | ||||
| @@ | ||||
| - memcpy(dst, src, n * sizeof(*src)); | ||||
| + COPY_ARRAY(dst, src, n); | ||||
|  | ||||
| @@ | ||||
| type T; | ||||
| T *dst; | ||||
| T *src; | ||||
| expression n; | ||||
| @@ | ||||
| - memcpy(dst, src, n * sizeof(T)); | ||||
| + COPY_ARRAY(dst, src, n); | ||||
|  | @ -798,6 +798,14 @@ extern FILE *fopen_for_writing(const char *path); | |||
| #define ALLOC_ARRAY(x, alloc) (x) = xmalloc(st_mult(sizeof(*(x)), (alloc))) | ||||
| #define REALLOC_ARRAY(x, alloc) (x) = xrealloc((x), st_mult(sizeof(*(x)), (alloc))) | ||||
|  | ||||
| #define COPY_ARRAY(dst, src, n) copy_array((dst), (src), (n), sizeof(*(dst)) + \ | ||||
| 	BUILD_ASSERT_OR_ZERO(sizeof(*(dst)) == sizeof(*(src)))) | ||||
| static inline void copy_array(void *dst, const void *src, size_t n, size_t size) | ||||
| { | ||||
| 	if (n) | ||||
| 		memcpy(dst, src, st_mult(size, n)); | ||||
| } | ||||
|  | ||||
| /* | ||||
|  * These functions help you allocate structs with flex arrays, and copy | ||||
|  * the data directly into the array. For example, if you had: | ||||
|  |  | |||
|  | @ -107,7 +107,7 @@ static void sort_revindex(struct revindex_entry *entries, unsigned n, off_t max) | |||
| 	 * we have to move it back from the temporary storage. | ||||
| 	 */ | ||||
| 	if (from != entries) | ||||
| 		memcpy(entries, tmp, n * sizeof(*entries)); | ||||
| 		COPY_ARRAY(entries, tmp, n); | ||||
| 	free(tmp); | ||||
| 	free(pos); | ||||
|  | ||||
|  |  | |||
|  | @ -485,8 +485,7 @@ void copy_pathspec(struct pathspec *dst, const struct pathspec *src) | |||
| { | ||||
| 	*dst = *src; | ||||
| 	ALLOC_ARRAY(dst->items, dst->nr); | ||||
| 	memcpy(dst->items, src->items, | ||||
| 	       sizeof(struct pathspec_item) * dst->nr); | ||||
| 	COPY_ARRAY(dst->items, src->items, dst->nr); | ||||
| } | ||||
|  | ||||
| void clear_pathspec(struct pathspec *pathspec) | ||||
|  |  | |||
|  | @ -83,8 +83,7 @@ void move_cache_to_base_index(struct index_state *istate) | |||
| 	si->base->timestamp = istate->timestamp; | ||||
| 	ALLOC_GROW(si->base->cache, istate->cache_nr, si->base->cache_alloc); | ||||
| 	si->base->cache_nr = istate->cache_nr; | ||||
| 	memcpy(si->base->cache, istate->cache, | ||||
| 	       sizeof(*istate->cache) * istate->cache_nr); | ||||
| 	COPY_ARRAY(si->base->cache, istate->cache, istate->cache_nr); | ||||
| 	mark_base_index_entries(si->base); | ||||
| 	for (i = 0; i < si->base->cache_nr; i++) | ||||
| 		si->base->cache[i]->ce_flags &= ~CE_UPDATE_IN_BASE; | ||||
|  | @ -141,8 +140,7 @@ void merge_base_index(struct index_state *istate) | |||
| 	istate->cache	    = NULL; | ||||
| 	istate->cache_alloc = 0; | ||||
| 	ALLOC_GROW(istate->cache, istate->cache_nr, istate->cache_alloc); | ||||
| 	memcpy(istate->cache, si->base->cache, | ||||
| 	       sizeof(*istate->cache) * istate->cache_nr); | ||||
| 	COPY_ARRAY(istate->cache, si->base->cache, istate->cache_nr); | ||||
|  | ||||
| 	si->nr_deletions = 0; | ||||
| 	si->nr_replacements = 0; | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Junio C Hamano
						Junio C Hamano