blob: da178397e8d39b022c027b4505ae0c6456d233fa [file] [log] [blame]
Shawn Shanb47ba8b2019-07-12 16:15:44 +08001/*
Summer Qinf24dbb52020-07-23 14:53:54 +08002 * Copyright (c) 2019-2020, Arm Limited. All rights reserved.
Shawn Shanb47ba8b2019-07-12 16:15:44 +08003 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 *
6 */
7
8#include <stddef.h>
9#include <stdint.h>
10
Summer Qinf24dbb52020-07-23 14:53:54 +080011int memcmp(const void *s1, const void *s2, size_t n)
Shawn Shanb47ba8b2019-07-12 16:15:44 +080012{
13 int result = 0;
14 const uint8_t *p1 = (const uint8_t *)s1;
15 const uint8_t *p2 = (const uint8_t *)s2;
Ken Liu562f2a12022-05-12 20:02:33 +080016
Shawn Shanb47ba8b2019-07-12 16:15:44 +080017 while (n--) {
18 if ((*p1 != *p2) && (result == 0)) {
19 result = *p1 - *p2;
20 } else {
21 p1++;
22 p2++;
23 }
24 }
25 return result;
26}