Date: Fri, 29 Jan 1999 11:52:38 -0800 (PST) From: Matthew Dillon <dillon@apollo.backplane.com> To: Bruce Evans <bde@zeta.org.au> Cc: brian@Awfulhak.org, cvs-all@FreeBSD.ORG, cvs-committers@FreeBSD.ORG Subject: Re: cvs commit: src/sys/sys kernel.h Message-ID: <199901291952.LAA80774@apollo.backplane.com> References: <199901291349.AAA06463@godzilla.zeta.org.au>
next in thread | previous in thread | raw e-mail | index | archive | help
:
:You can do that anyway by casting away the const. Don't do that.
:
:>The prototype is doubly wrong because there's no correct way to write
:>the function - not without casting the const char * to a char *.
:
:There is no problem with implementing strchr(), only a minor problem
:with its use. Casting the const char * to char * is a correct way of
:implementing it.
:
:A similar problem with the strtoul() family was "fixed" by breaking
:the kernel versions to take a `const char **endptr' instead of a
:`char *endptr' and propagating the breakage to all callers. This
:should be backed out. The warning can be avoided using a union hack.
:
:Bruce
This is a good example of how const propogation can break down.
The real solution, at least for the kernel, is to leave the function
as-is but possibly rename it, or provide two functions: one that
is passed and returns a const char *, and on that doesn't.
-Matt
Matthew Dillon
<dillon@backplane.com>
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?199901291952.LAA80774>
