1*54fd6939SJiyong Park /* 2*54fd6939SJiyong Park * Copyright (c) 2013-2019, ARM Limited and Contributors. All rights reserved. 3*54fd6939SJiyong Park * 4*54fd6939SJiyong Park * SPDX-License-Identifier: BSD-3-Clause 5*54fd6939SJiyong Park */ 6*54fd6939SJiyong Park 7*54fd6939SJiyong Park #include <stddef.h> 8*54fd6939SJiyong Park #include <string.h> 9*54fd6939SJiyong Park memcmp(const void * s1,const void * s2,size_t len)10*54fd6939SJiyong Parkint memcmp(const void *s1, const void *s2, size_t len) 11*54fd6939SJiyong Park { 12*54fd6939SJiyong Park const unsigned char *s = s1; 13*54fd6939SJiyong Park const unsigned char *d = s2; 14*54fd6939SJiyong Park unsigned char sc; 15*54fd6939SJiyong Park unsigned char dc; 16*54fd6939SJiyong Park 17*54fd6939SJiyong Park while (len--) { 18*54fd6939SJiyong Park sc = *s++; 19*54fd6939SJiyong Park dc = *d++; 20*54fd6939SJiyong Park if (sc - dc) 21*54fd6939SJiyong Park return (sc - dc); 22*54fd6939SJiyong Park } 23*54fd6939SJiyong Park 24*54fd6939SJiyong Park return 0; 25*54fd6939SJiyong Park } 26