Date: Tue, 28 Apr 2009 14:12:55 +0200 From: Olivier Houchard <mlfbsd@ci0.org> To: Channa <channa.kad@gmail.com> Cc: freebsd-arm@freebsd.org, Gavin Atkinson <gavin@freebsd.org> Subject: Re: strncmp issue Message-ID: <20090428121255.GA99020@ci0.org> In-Reply-To: <515c64960904280459p3c2ef8bdu3600157eb0c47bcc@mail.gmail.com> References: <515c64960904280252sc9fe2afy24e8db8ab13b13e4@mail.gmail.com> <1240918262.85945.1.camel@buffy.york.ac.uk> <20090428115510.GA98699@ci0.org> <515c64960904280459p3c2ef8bdu3600157eb0c47bcc@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Apr 28, 2009 at 05:29:28PM +0530, Channa wrote: > 2009/4/28 Olivier Houchard <mlfbsd@ci0.org>: > >> On Tue, 2009-04-28 at 15:22 +0530, Channa wrote: > >> > Hi, > >> > > >> > I am using the freebsd implementation of strncmp for ARM which is an > >> > assembly implementation. > >> > I have a small doubt, when i tested the strncmp by passing the third argument: > >> > 'n' as -1 the return values is ?'0' instead it should '-1'. > >> > When the third argument ?to strncmp is as below: > >> > > >> > ret = strncmp("a","b",-1) > >> > > >> > I think the assembly implementation in > >> > src/lib/libc/arm/string/strncmp.S file needs > >> > to be modified to take care of the above condition. > >> > > >> > In the current implementation > >> > /* if ((len - 1) < 0) return 0 */ > >> > ? ? ? ? subs ? ?r2, r2, #1 > >> > ? ? ? ? movmi ? r0, #0 > >> > ? ? ? ? RETc(mi) > >> > > >> > This should be changed to check as below > >> > > >> > /* if ((len ) < 0) return 0 */ > >> > /* Assembly code here */ > >> > > >> > Could anyone help in solving the above issue.? > >> > > > > > Hi, > > > > This shouldn't be an issue, as the second argument of strncmp is unsigned, > > -1 is not a valid value. > > > > Regards, > > > > Olivier > > > Hi, > Thanks for the reply. > True the third argument of strncmp is unsigned but the return value in > the below call to strncmp > > ret = strncmp("a","b",-1) > > is '0' but it should be -1 i suppose. > > Please let me know if anything is wrong. > True, sorry. I'll fix this later today, thanks a lot for reporting ! Regards, Olivier
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090428121255.GA99020>