1*549b59edSchristos /* $NetBSD: memcmp.c,v 1.3 2021/08/14 16:14:58 christos Exp $ */ 24e6df137Slukem 3d11b170bStron /* $OpenLDAP$ */ 42de962bdSlukem /* This work is part of OpenLDAP Software <http://www.openldap.org/>. 52de962bdSlukem * 6*549b59edSchristos * Copyright 1998-2021 The OpenLDAP Foundation. 72de962bdSlukem * All rights reserved. 82de962bdSlukem * 92de962bdSlukem * Redistribution and use in source and binary forms, with or without 102de962bdSlukem * modification, are permitted only as authorized by the OpenLDAP 112de962bdSlukem * Public License. 122de962bdSlukem * 132de962bdSlukem * A copy of this license is available in the file LICENSE in the 142de962bdSlukem * top-level directory of the distribution or, alternatively, at 152de962bdSlukem * <http://www.OpenLDAP.org/license.html>. 162de962bdSlukem */ 172de962bdSlukem 18376af7d7Schristos #include <sys/cdefs.h> 19*549b59edSchristos __RCSID("$NetBSD: memcmp.c,v 1.3 2021/08/14 16:14:58 christos Exp $"); 20376af7d7Schristos 212de962bdSlukem #include "portable.h" 222de962bdSlukem 232de962bdSlukem #include <ac/string.h> 242de962bdSlukem 252de962bdSlukem /* 262de962bdSlukem * Memory Compare 272de962bdSlukem */ 282de962bdSlukem int 292de962bdSlukem (lutil_memcmp)(const void *v1, const void *v2, size_t n) 302de962bdSlukem { 312de962bdSlukem if (n != 0) { 322de962bdSlukem const unsigned char *s1=v1, *s2=v2; 332de962bdSlukem do { 342de962bdSlukem if (*s1++ != *s2++) return *--s1 - *--s2; 352de962bdSlukem } while (--n != 0); 362de962bdSlukem } 372de962bdSlukem return 0; 382de962bdSlukem } 39