blob: 1b17bf4d4bc4c290a539f41f275cd6832c6627a9 [file] [log] [blame]
Heinrich Schuchardt2a6daf72017-10-05 16:36:07 +02001/*
2 * efi_selftest_util
3 *
4 * Copyright (c) 2017 Heinrich Schuchardt <xypron.glpk@gmx.de>
5 *
6 * SPDX-License-Identifier: GPL-2.0+
7 *
8 * Utility functions
9 */
10
11#include <efi_selftest.h>
12
13int efi_st_memcmp(const void *buf1, const void *buf2, size_t length)
14{
15 const u8 *pos1 = buf1;
16 const u8 *pos2 = buf2;
17
18 for (; length; --length) {
19 if (*pos1 != *pos2)
Heinrich Schuchardtea090932017-10-06 20:39:13 +020020 return *pos1 - *pos2;
Heinrich Schuchardt2a6daf72017-10-05 16:36:07 +020021 ++pos1;
22 ++pos2;
23 }
Heinrich Schuchardta8ec6282017-10-18 18:13:11 +020024 return 0;
Heinrich Schuchardt2a6daf72017-10-05 16:36:07 +020025}
Heinrich Schuchardt02efd5d2017-10-18 18:13:13 +020026
27int efi_st_strcmp_16_8(const u16 *buf1, const char *buf2)
28{
29 for (; *buf1 || *buf2; ++buf1, ++buf2) {
30 if (*buf1 != *buf2)
31 return *buf1 - *buf2;
32 }
33 return 0;
34}