Date: Sat, 31 Oct 1998 12:32:34 +1030 From: Greg Lehey <grog@lemis.com> To: Archie Cobbs <archie@whistle.com>, mike@smith.net.au Cc: hackers@FreeBSD.ORG Subject: Re: scanf in the kernel? Message-ID: <19981031123234.A5846@freebie.lemis.com> In-Reply-To: <199810302100.NAA18888@bubba.whistle.com>; from Archie Cobbs on Fri, Oct 30, 1998 at 01:00:58PM -0800 References: <199810301814.KAA16349@bubba.whistle.com> <199810302100.NAA18888@bubba.whistle.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Friday, 30 October 1998 at 13:00:58 -0800, Archie Cobbs wrote: > Archie Cobbs writes: >>> Just wondering what the general feeling would be about having scanf in >>> the kernel? As we move towards more abstract representations of things >>> (eg. device names), it's becoming more important to be able to parse >>> strings inside the kernel. >>> >>> Doing this in hand-rolled code is tedious, error-prone and results in >>> code that can be hard to read and maintain (as everyone does it their >>> own way). >>> >>> If this isn't totally repulsive, I'll roll a somewhat smaller version >>> of the libc vfscanf for general approval. > > Also- > Seems like the kernel was missing memmove(), memcpy(), and/or memset() > at some point. I like using these better than bcopy()/bzero() because > they are more ANSI and portable... I don't see that that's an issue within the kernel. > And what about snprintf()? Would that be hard to add to the existing > printf() functionality? The kernel is definitely one place you > don't want to overflow string buffers... One thing I *could* do with (and will do if people agree) is a %qd modifier for kernel *printf. I need that for vinum, and I currently have a horrible kludge to do it. Greg -- See complete headers for address, home page and phone numbers finger grog@lemis.com for PGP public key To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19981031123234.A5846>