From owner-freebsd-hackers Sat May 12 8:23:51 2001 Delivered-To: freebsd-hackers@freebsd.org Received: from segfault.kiev.ua (segfault.kiev.ua [193.193.193.4]) by hub.freebsd.org (Postfix) with ESMTP id 7108B37B423 for ; Sat, 12 May 2001 08:23:46 -0700 (PDT) (envelope-from netch@iv.nn.kiev.ua) Received: (from uucp@localhost) by segfault.kiev.ua (8) with UUCP id SIZ80263; Sat, 12 May 2001 18:23:22 +0300 (EEST) (envelope-from netch@iv.nn.kiev.ua) Received: (from netch@localhost) by iv.nn.kiev.ua (8.11.3/8.11.3) id f4CFM4800342; Sat, 12 May 2001 18:22:04 +0300 (EEST) (envelope-from netch) Date: Sat, 12 May 2001 18:22:04 +0300 From: Valentin Nechayev To: roam@orbitel.bg Cc: Daniel Hemmerich , freebsd-hackers@FreeBSD.ORG Subject: Re: adding a new function to libc Message-ID: <20010512182203.A297@iv.nn.kiev.ua> References: <01051202104500.95296@blackhole.BSDpro.com> <20010512170544.A343@iv.nn.kiev.ua> <20010512171240.A54542@ringworld.oblivion.bg> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20010512171240.A54542@ringworld.oblivion.bg>; from roam@orbitel.bg on Sat, May 12, 2001 at 05:12:41PM +0300 X-42: On Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Sat, May 12, 2001 at 17:12:41, roam (Peter Pentchev) wrote about "Re: adding a new function to libc": > > /* This is candidate to have optimized assembler variant */ > > size_t strnlen( const char* src, size_t max ) > > { > > size_t n; > > while( n < max && *src != '\0' ) > > n++; > > return n; > > } > > I really hope you meant *src++ there :) Yes, sorry. I incorrectly hoped to write it again from brain instead of copying from sources.;| Variant from my sources: size_t strnlen( const char* src, size_t maxlen ) { register size_t len = 0; while( len < maxlen && src[len] ) len++; return len; } Variant from linux kernel: #ifndef __HAVE_ARCH_STRNLEN size_t strnlen(const char * s, size_t count) { const char *sc; for (sc = s; count-- && *sc != '\0'; ++sc) /* nothing */; return sc - s; } #endif /netch To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message