Skip site navigation (1)Skip section navigation (2)
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>