xref: /rk3399_ARM-atf/lib/libc/memcmp.c (revision 25002a0042382f641f228e7045f55539d7d1103b)
14661abc7SAntonio Nino Diaz /*
2*34d7f196SBoyan Karatotev  * Copyright (c) 2013-2025, Arm Limited and Contributors. All rights reserved.
34661abc7SAntonio Nino Diaz  *
44661abc7SAntonio Nino Diaz  * SPDX-License-Identifier: BSD-3-Clause
54661abc7SAntonio Nino Diaz  */
64661abc7SAntonio Nino Diaz 
74661abc7SAntonio Nino Diaz #include <stddef.h>
8*34d7f196SBoyan Karatotev #include <string_private.h>
94661abc7SAntonio Nino Diaz 
memcmp(const void * s1,const void * s2,size_t len)104661abc7SAntonio Nino Diaz int memcmp(const void *s1, const void *s2, size_t len)
114661abc7SAntonio Nino Diaz {
124661abc7SAntonio Nino Diaz 	const unsigned char *s = s1;
134661abc7SAntonio Nino Diaz 	const unsigned char *d = s2;
144661abc7SAntonio Nino Diaz 	unsigned char sc;
154661abc7SAntonio Nino Diaz 	unsigned char dc;
164661abc7SAntonio Nino Diaz 
174661abc7SAntonio Nino Diaz 	while (len--) {
184661abc7SAntonio Nino Diaz 		sc = *s++;
194661abc7SAntonio Nino Diaz 		dc = *d++;
204661abc7SAntonio Nino Diaz 		if (sc - dc)
214661abc7SAntonio Nino Diaz 			return (sc - dc);
224661abc7SAntonio Nino Diaz 	}
234661abc7SAntonio Nino Diaz 
244661abc7SAntonio Nino Diaz 	return 0;
254661abc7SAntonio Nino Diaz }
26