From 060eadf4e7f81c2d2da4f6c4b2f019186c47ec57 Mon Sep 17 00:00:00 2001 From: midipix Date: Tue, 28 Jun 2016 15:33:11 -0400 Subject: string functions: added __ntapi_tt_strcmp_utf16(). --- src/internal/ntapi.c | 1 + src/internal/ntapi_fnapi.h | 1 + src/string/ntapi_tt_strcmp_utf16.c | 18 ++++++++++++++++++ 3 files changed, 20 insertions(+) create mode 100644 src/string/ntapi_tt_strcmp_utf16.c (limited to 'src') diff --git a/src/internal/ntapi.c b/src/internal/ntapi.c index b01a52c..f053431 100644 --- a/src/internal/ntapi.c +++ b/src/internal/ntapi.c @@ -168,6 +168,7 @@ static int32_t __fastcall __ntapi_init_once(ntapi_vtbl ** pvtbl) __ntapi->tt_string_null_offset_qword = __ntapi_tt_string_null_offset_qword; __ntapi->tt_string_null_offset_ptrsize = __ntapi_tt_string_null_offset_ptrsize; __ntapi->tt_strcmp_multibyte = __ntapi_tt_strcmp_multibyte; + __ntapi->tt_strcmp_utf16 = __ntapi_tt_strcmp_utf16; __ntapi->strlen = __ntapi_tt_string_null_offset_multibyte; __ntapi->wcslen = __ntapi_wcslen; __ntapi->tt_aligned_block_memset = __ntapi_tt_aligned_block_memset; diff --git a/src/internal/ntapi_fnapi.h b/src/internal/ntapi_fnapi.h index ab74d85..d752e70 100644 --- a/src/internal/ntapi_fnapi.h +++ b/src/internal/ntapi_fnapi.h @@ -54,6 +54,7 @@ ntapi_tt_string_null_offset_dword __ntapi_tt_string_null_offset_dword; ntapi_tt_string_null_offset_qword __ntapi_tt_string_null_offset_qword; ntapi_tt_string_null_offset_ptrsize __ntapi_tt_string_null_offset_ptrsize; ntapi_tt_strcmp_multibyte __ntapi_tt_strcmp_multibyte; +ntapi_tt_strcmp_utf16 __ntapi_tt_strcmp_utf16; ntapi_wcslen __ntapi_wcslen; ntapi_tt_aligned_block_memset __ntapi_tt_aligned_block_memset; ntapi_tt_aligned_block_memcpy __ntapi_tt_aligned_block_memcpy; diff --git a/src/string/ntapi_tt_strcmp_utf16.c b/src/string/ntapi_tt_strcmp_utf16.c new file mode 100644 index 0000000..b083d12 --- /dev/null +++ b/src/string/ntapi_tt_strcmp_utf16.c @@ -0,0 +1,18 @@ +/********************************************************/ +/* ntapi: Native API core library */ +/* Copyright (C) 2013--2016 Z. Gilboa */ +/* Released under GPLv2 and GPLv3; see COPYING.NTAPI. */ +/********************************************************/ + +#include +#include + +int __cdecl __ntapi_tt_strcmp_utf16( + __in const wchar16_t * a, + __in const wchar16_t * b) +{ + for (; (*a == *b) && *a; a++, b++) + (void)0; + + return (int)*a - (int)*b; +} -- cgit v1.2.3