Message ID | 20190919214712.7348-6-szeder.dev@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | name-rev: eliminate recursion | expand |
On 9/19/2019 5:47 PM, SZEDER Gábor wrote: > Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com> > --- > builtin/name-rev.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/builtin/name-rev.c b/builtin/name-rev.c > index e406ff8e17..dec2228cc7 100644 > --- a/builtin/name-rev.c > +++ b/builtin/name-rev.c > @@ -98,7 +98,7 @@ static void name_rev(struct commit *commit, > } > > if (name == NULL) { > - name = xmalloc(sizeof(rev_name)); > + name = xmalloc(sizeof(*name)); Is this our preferred way to use xmalloc()? If so, then I've been doing it wrong and will correct myself in the future. -Stolee
On Fri, Sep 20, 2019 at 11:11:02AM -0400, Derrick Stolee wrote: > On 9/19/2019 5:47 PM, SZEDER Gábor wrote: > > Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com> > > --- > > builtin/name-rev.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/builtin/name-rev.c b/builtin/name-rev.c > > index e406ff8e17..dec2228cc7 100644 > > --- a/builtin/name-rev.c > > +++ b/builtin/name-rev.c > > @@ -98,7 +98,7 @@ static void name_rev(struct commit *commit, > > } > > > > if (name == NULL) { > > - name = xmalloc(sizeof(rev_name)); > > + name = xmalloc(sizeof(*name)); > > Is this our preferred way to use xmalloc()? If so, then > I've been doing it wrong and will correct myself in the > future. I seem to remember that Peff mentioned in a commit message that this is the preferred way, but can't find it at the moment. Anyway, when using 'sizeof(*ptr)' the type is inferred by the compiler, but when using 'sizeof(type)' then we have to make sure that 'type' is indeed the right type. Besides, that 'rev_name' should have been spelled as 'struct rev_name' to begin with.
Am 19.09.19 um 23:47 schrieb SZEDER Gábor: > Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com> > --- > builtin/name-rev.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/builtin/name-rev.c b/builtin/name-rev.c > index e406ff8e17..dec2228cc7 100644 > --- a/builtin/name-rev.c > +++ b/builtin/name-rev.c > @@ -98,7 +98,7 @@ static void name_rev(struct commit *commit, > } > > if (name == NULL) { > - name = xmalloc(sizeof(rev_name)); > + name = xmalloc(sizeof(*name)); Here are the declarations of both (and my beloved --function-context option would only have shown the second one): typedef struct rev_name { const char *tip_name; timestamp_t taggerdate; int generation; int distance; int from_tag; } rev_name; struct rev_name *name = get_commit_rev_name(commit); So your patch is correct. Had me scratching my head when I first saw it, though. That old code has been present since bd321bcc51 ("Add git-name-rev", 2005-10-26). > set_commit_rev_name(commit, name); > goto copy_data; > } else if (is_better_name(name, taggerdate, distance, from_tag)) { >
diff --git a/builtin/name-rev.c b/builtin/name-rev.c index e406ff8e17..dec2228cc7 100644 --- a/builtin/name-rev.c +++ b/builtin/name-rev.c @@ -98,7 +98,7 @@ static void name_rev(struct commit *commit, } if (name == NULL) { - name = xmalloc(sizeof(rev_name)); + name = xmalloc(sizeof(*name)); set_commit_rev_name(commit, name); goto copy_data; } else if (is_better_name(name, taggerdate, distance, from_tag)) {
Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com> --- builtin/name-rev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)