Date: Mon, 7 Dec 2009 14:31:17 +0100 From: Luigi Rizzo <rizzo@iet.unipi.it> To: Dag-Erling Sm??rgrav <des@des.no> Cc: svn-src-head@freebsd.org, Ed Schouten <ed@80386.nl>, svn-src-all@freebsd.org, src-committers@freebsd.org, Hajimu UMEMOTO <ume@freebsd.org> Subject: Re: the need for safe dynamic string libraries Message-ID: <20091207133117.GA73597@onelab2.iet.unipi.it> In-Reply-To: <86skbnrkrz.fsf@ds4.des.no> References: <200912052009.nB5K9okL098577@svn.freebsd.org> <ygek4wzpdv3.wl%ume@mahoroba.org> <20091207055752.GD64905@hoeg.nl> <20091207085927.GC57764@onelab2.iet.unipi.it> <86iqcjt93c.fsf@ds4.des.no> <20091207105343.GA62012@onelab2.iet.unipi.it> <86ein7t5m5.fsf@ds4.des.no> <20091207130433.GA71902@onelab2.iet.unipi.it> <86skbnrkrz.fsf@ds4.des.no>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Dec 07, 2009 at 02:11:44PM +0100, Dag-Erling Sm??rgrav wrote:
> Luigi Rizzo <rizzo@iet.unipi.it> writes:
> > "Dag-Erling Sm??rgrav" <des@des.no> writes:
> > > When libsbuf was ported to userland, sbuf_printf() was pessimized
> > > due to the limitations of libc's printf().
> > but, isn't this an implementation detail ? What prevents the same
> > API to have two different implementation, one for kernel, one for userland ?
>
> Maybe I wasn't entirely clear: functionality was removed from libsbuf
> because it could not be implemented in userland, because our printf(3)
> is badly implemented. To restore that functionality, we would have to
> either fork libsbuf or fix printf(3).
i think i understood correctly.
But my point is-- does the functionality that was removed rely
on a different API, or we can keep the same API and have two
different implementation of the hopefully few things that change
between kernel and userland
int
sbuf_printf(struct sbuf *s, const char *fmt, ...)
{
// common code
#ifdef _KERNEL
... the wonderful bits
#else
// crippled due to printf limitations
#endif
// more common code
This does not seem too problematic...
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20091207133117.GA73597>
