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>