From: Seija <doremylover123@xxxxxxxxx> We can avoid having to call memset by calling xcalloc directly Signed-off-by: Seija doremylover123@xxxxxxxxx --- maintenance: use xcalloc instead of xmalloc where possible We can avoid having to call memset by calling xcalloc directly Signed-off-by: Seija doremylover123@xxxxxxxxx Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1390%2FAtariDreams%2Fcalloc-v3 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1390/AtariDreams/calloc-v3 Pull-Request: https://github.com/git/git/pull/1390 Range-diff vs v2: 1: ee8a7af6435 ! 1: b5cfec60048 maintenance: use xcalloc instead of xmalloc where possible @@ Commit message Signed-off-by: Seija doremylover123@xxxxxxxxx + ## builtin/pack-redundant.c ## +@@ builtin/pack-redundant.c: static inline struct llist_item *llist_item_get(void) + new_item = free_nodes; + free_nodes = free_nodes->next; + } else { +- int i = 1; ++ size_t i = 1; + ALLOC_ARRAY(new_item, BLKSIZE); + for (; i < BLKSIZE; i++) + llist_item_put(&new_item[i]); +@@ builtin/pack-redundant.c: static inline struct llist_item *llist_item_get(void) + + static inline void llist_init(struct llist **list) + { +- *list = xmalloc(sizeof(struct llist)); +- (*list)->front = (*list)->back = NULL; +- (*list)->size = 0; ++ CALLOC_ARRAY(*list, 1); + } + + static struct llist * llist_copy(struct llist *list) + ## remote.c ## @@ remote.c: void apply_push_cas(struct push_cas_option *cas, @@ submodule.c: struct fetch_task { ret->path = name; ret->name = name; +@@ submodule.c: static struct fetch_task *fetch_task_create(struct submodule_parallel_fetch *spf + const char *path, + const struct object_id *treeish_name) + { +- struct fetch_task *task = xmalloc(sizeof(*task)); +- memset(task, 0, sizeof(*task)); ++ struct fetch_task *task; ++ ++ CALLOC_ARRAY(task, 1); + + task->sub = submodule_from_path(spf->r, treeish_name, path); + + + ## xdiff/xutils.c ## +@@ xdiff/xutils.c: void *xdl_cha_alloc(chastore_t *cha) { + void *data; + + if (!(ancur = cha->ancur) || ancur->icurr == cha->nsize) { +- if (!(ancur = (chanode_t *) xdl_malloc(sizeof(chanode_t) + cha->nsize))) { ++ if (!(ancur = (chanode_t *) xdl_calloc(1, sizeof(chanode_t) + cha->nsize))) { + + return NULL; + } +- ancur->icurr = 0; +- ancur->next = NULL; + if (cha->tail) + cha->tail->next = ancur; + if (!cha->head) builtin/pack-redundant.c | 6 ++---- remote.c | 4 ++-- submodule.c | 10 +++++----- xdiff/xutils.c | 4 +--- 4 files changed, 10 insertions(+), 14 deletions(-) diff --git a/builtin/pack-redundant.c b/builtin/pack-redundant.c index ecd49ca268f..0e184bb5212 100644 --- a/builtin/pack-redundant.c +++ b/builtin/pack-redundant.c @@ -51,7 +51,7 @@ static inline struct llist_item *llist_item_get(void) new_item = free_nodes; free_nodes = free_nodes->next; } else { - int i = 1; + size_t i = 1; ALLOC_ARRAY(new_item, BLKSIZE); for (; i < BLKSIZE; i++) llist_item_put(&new_item[i]); @@ -61,9 +61,7 @@ static inline struct llist_item *llist_item_get(void) static inline void llist_init(struct llist **list) { - *list = xmalloc(sizeof(struct llist)); - (*list)->front = (*list)->back = NULL; - (*list)->size = 0; + CALLOC_ARRAY(*list, 1); } static struct llist * llist_copy(struct llist *list) diff --git a/remote.c b/remote.c index 60869beebe7..475a1d18af0 100644 --- a/remote.c +++ b/remote.c @@ -2741,9 +2741,9 @@ void apply_push_cas(struct push_cas_option *cas, struct remote_state *remote_state_new(void) { - struct remote_state *r = xmalloc(sizeof(*r)); + struct remote_state *r; - memset(r, 0, sizeof(*r)); + CALLOC_ARRAY(r, 1); hashmap_init(&r->remotes_hash, remotes_hash_cmp, NULL, 0); hashmap_init(&r->branches_hash, branches_hash_cmp, NULL, 0); diff --git a/submodule.c b/submodule.c index 8ac2fca855d..015102a83d6 100644 --- a/submodule.c +++ b/submodule.c @@ -1458,14 +1458,13 @@ struct fetch_task { */ static const struct submodule *get_non_gitmodules_submodule(const char *path) { - struct submodule *ret = NULL; + struct submodule *ret; const char *name = default_name_or_path(path); if (!name) return NULL; - ret = xmalloc(sizeof(*ret)); - memset(ret, 0, sizeof(*ret)); + CALLOC_ARRAY(ret, 1); ret->path = name; ret->name = name; @@ -1504,8 +1503,9 @@ static struct fetch_task *fetch_task_create(struct submodule_parallel_fetch *spf const char *path, const struct object_id *treeish_name) { - struct fetch_task *task = xmalloc(sizeof(*task)); - memset(task, 0, sizeof(*task)); + struct fetch_task *task; + + CALLOC_ARRAY(task, 1); task->sub = submodule_from_path(spf->r, treeish_name, path); diff --git a/xdiff/xutils.c b/xdiff/xutils.c index 9e36f24875d..c19bc441a96 100644 --- a/xdiff/xutils.c +++ b/xdiff/xutils.c @@ -98,12 +98,10 @@ void *xdl_cha_alloc(chastore_t *cha) { void *data; if (!(ancur = cha->ancur) || ancur->icurr == cha->nsize) { - if (!(ancur = (chanode_t *) xdl_malloc(sizeof(chanode_t) + cha->nsize))) { + if (!(ancur = (chanode_t *) xdl_calloc(1, sizeof(chanode_t) + cha->nsize))) { return NULL; } - ancur->icurr = 0; - ancur->next = NULL; if (cha->tail) cha->tail->next = ancur; if (!cha->head) base-commit: 805265fcf7a737664a8321aaf4a0587b78435184 -- gitgitgadget