From: Junio C Hamano Date: Fri, 18 May 2012 21:02:38 GMT Subject: Re: [PATCH v2 1/4] streaming: allow to call close_istream(NULL); Message-ID: In-Reply-To: <1337169731-23416-1-git-send-email-pclouds@gmail.com> Nguyễn Thái Ngọc Duy writes: > This makes it more convenient in cleanup code, like free(NULL). If the justification were "like fclose(NULL)", it have made more sense, but fclose(NULL) does not silently turn itself into a successful no-op. You are expected to check the returned value from the matching function (i.e. fopen()) and do not call it. So taking this patch alone, I smell a bad design taste. > Signed-off-by: Nguyễn Thái Ngọc Duy > --- > streaming.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/streaming.c b/streaming.c > index 3a3cd12..38b39cd 100644 > --- a/streaming.c > +++ b/streaming.c > @@ -94,7 +94,7 @@ struct git_istream { > > int close_istream(struct git_istream *st) > { > - int r = st->vtbl->close(st); > + int r = st ? st->vtbl->close(st) : 0; > free(st); > return r; > }