Shawn Shan | b47ba8b | 2019-07-12 16:15:44 +0800 | [diff] [blame] | 1 | /* |
Summer Qin | f24dbb5 | 2020-07-23 14:53:54 +0800 | [diff] [blame] | 2 | * Copyright (c) 2019-2020, Arm Limited. All rights reserved. |
Shawn Shan | b47ba8b | 2019-07-12 16:15:44 +0800 | [diff] [blame] | 3 | * |
| 4 | * SPDX-License-Identifier: BSD-3-Clause |
| 5 | * |
| 6 | */ |
| 7 | |
| 8 | #include <stddef.h> |
| 9 | #include <stdint.h> |
| 10 | |
Summer Qin | f24dbb5 | 2020-07-23 14:53:54 +0800 | [diff] [blame] | 11 | int memcmp(const void *s1, const void *s2, size_t n) |
Shawn Shan | b47ba8b | 2019-07-12 16:15:44 +0800 | [diff] [blame] | 12 | { |
| 13 | int result = 0; |
| 14 | const uint8_t *p1 = (const uint8_t *)s1; |
| 15 | const uint8_t *p2 = (const uint8_t *)s2; |
Ken Liu | 562f2a1 | 2022-05-12 20:02:33 +0800 | [diff] [blame] | 16 | |
Shawn Shan | b47ba8b | 2019-07-12 16:15:44 +0800 | [diff] [blame] | 17 | while (n--) { |
| 18 | if ((*p1 != *p2) && (result == 0)) { |
| 19 | result = *p1 - *p2; |
| 20 | } else { |
| 21 | p1++; |
| 22 | p2++; |
| 23 | } |
| 24 | } |
| 25 | return result; |
| 26 | } |