Date: Tue, 28 Apr 2009 19:32:14 +0530 From: Channa <channa.kad@gmail.com> To: Olivier Houchard <mlfbsd@ci0.org> Cc: freebsd-arm@freebsd.org, Gavin Atkinson <gavin@freebsd.org> Subject: Re: strncmp issue Message-ID: <515c64960904280702s5e29f916s5e03564adf96f9b0@mail.gmail.com> In-Reply-To: <20090428121255.GA99020@ci0.org> References: <515c64960904280252sc9fe2afy24e8db8ab13b13e4@mail.gmail.com> <1240918262.85945.1.camel@buffy.york.ac.uk> <20090428115510.GA98699@ci0.org> <515c64960904280459p3c2ef8bdu3600157eb0c47bcc@mail.gmail.com> <20090428121255.GA99020@ci0.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi, Thank you very much for your response. I am looking forward for your fix. Thanks & Regards, Channa 2009/4/28 Olivier Houchard <mlfbsd@ci0.org>: > 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?515c64960904280702s5e29f916s5e03564adf96f9b0>