| 254 | */ |
| 255 | #ifndef RT_KLIBC_USING_USER_MEMCMP |
| 256 | rt_int32_t rt_memcmp(const void *cs, const void *ct, rt_size_t count) |
| 257 | { |
| 258 | #ifdef RT_KLIBC_USING_LIBC_MEMCMP |
| 259 | return memcmp(cs, ct, count); |
| 260 | #else |
| 261 | const unsigned char *su1 = RT_NULL, *su2 = RT_NULL; |
| 262 | int res = 0; |
| 263 | |
| 264 | for (su1 = (const unsigned char *)cs, su2 = (const unsigned char *)ct; 0 < count; ++su1, ++su2, count--) |
| 265 | if ((res = *su1 - *su2) != 0) |
| 266 | break; |
| 267 | |
| 268 | return res; |
| 269 | #endif /* RT_KLIBC_USING_LIBC_MEMCMP */ |
| 270 | } |
| 271 | #endif /* RT_KLIBC_USING_USER_MEMCMP */ |
| 272 | RTM_EXPORT(rt_memcmp); |
| 273 |
no outgoing calls