strncmp issue

Olivier Houchard mlfbsd at ci0.org
Tue Apr 28 11:46:21 UTC 2009


> 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


More information about the freebsd-arm mailing list