strncmp issue

Channa channa.kad at gmail.com
Tue Apr 28 10:21:42 UTC 2009


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.?

Thanks & Regards,
Channagoud


More information about the freebsd-current mailing list