From: Junio C Hamano Date: Sun, 27 Jun 2010 19:54:39 GMT Subject: Re: [PATCH 06/12] add range clone functions Message-ID: <7veifsfdz4.fsf@alter.siamese.dyndns.org> In-Reply-To: <1277558857-23103-7-git-send-email-struggleyb.nku@gmail.com> Bo Yang writes: > Both single range clone and deeply clone are supported. > > Signed-off-by: Bo Yang > --- > line.c | 35 +++++++++++++++++++++++++++++++++++ > line.h | 4 ++++ > 2 files changed, 39 insertions(+), 0 deletions(-) > > diff --git a/line.c b/line.c > index 7b7f3f3..f765a03 100644 > --- a/line.c > +++ b/line.c > @@ -370,6 +370,41 @@ void diff_line_range_append(struct diff_line_range *r, const char *arg) > r->ranges[r->nr - 1].arg = arg; > } > > +struct diff_line_range *diff_line_range_clone(struct diff_line_range *r) > +{ > + struct diff_line_range *ret = xmalloc(sizeof(*ret)); > + > + DIFF_LINE_RANGE_INIT(ret); > + ret->ranges = xcalloc(sizeof(struct range), r->nr); Please don't break the calloc(nmemb, size-of-one-member) convention.