Date: Mon, 23 Jul 2001 02:37:41 +0100 From: Brian Somers <brian@Awfulhak.org> To: Assar Westerlund <assar@FreeBSD.org> Cc: Brian Somers <brian@Awfulhak.org>, cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/lib/libutil ecalloc.c emalloc.3 emalloc.c erealloc.c estrdup.c Makefile libutil.h Message-ID: <200107230137.f6N1bfg13122@hak.lan.Awfulhak.org> In-Reply-To: Message from Assar Westerlund <assar@FreeBSD.org> of "23 Jul 2001 03:03:54 %2B0200." <5lhew4h2x1.fsf@assaris.sics.se>
next in thread | previous in thread | raw e-mail | index | archive | help
> Brian Somers <brian@Awfulhak.org> writes:
> > What a bizarre idea. IMHO this is not necessary. Was this discussed
> > somewhere ?
>
> Why is this bizarre? Is it better having these functions in lots of
> different programs under different names? I sent a mail about this to
> freebsd-audit@freebsd.org.
This sort of function should be thrown out in a code review on the
basis that it obfuscates the code.
ptr = emalloc(n);
will mean nothing to a regular C programmer (except that it's
probably doing a malloc with some extra stuff).
if ((ptr = malloc(n)) == NULL)
errx(1, "malloc %lu failed", (unsigned long)n);
will mean much more (hmm, I'll bet errx() exits, I wonder what the
``1'' is for?), and
if ((ptr = malloc(n)) == NULL) {
fprintf(stderr, "malloc %lu failed\n", (unsigned long)n);
exit(1);
}
would actually be portable.
Adding routines such as these to our libraries and then using them
from our programs just makes it irritating when you try to build
something on another OS -- not to mention obfuscating our code base.
Of course I completely disagree with the err/errx/warn/warnx stuff
too for exactly the same reasons -- having wanted to build things such
as newsyslog to Solaris.
And before we know it, calls to things like this start slipping into
our libraries... that way lies ruin !
> /assar
--
Brian <brian@freebsd-services.com> <brian@Awfulhak.org>
http://www.freebsd-services.com/ <brian@[uk.]FreeBSD.org>
Don't _EVER_ lose your sense of humour ! <brian@[uk.]OpenBSD.org>
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200107230137.f6N1bfg13122>
