summaryrefslogtreecommitdiffhomepage
path: root/src/u16_wcsnlen.c
blob: a636516846e0550ca0741f81679adafe8460d9c2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/*******************************************************************/
/*  u16ports: u16 variants of wide character string functions.     */
/*  Copyright (C) 2017  SysDeer Technologies, LLC                  */
/*  Released under the Standard MIT License; see COPYING.U16PORTS. */
/*******************************************************************/

#include <stdint.h>
#include <u16ports/u16ports.h>

size_t u16_wcsnlen(const uint16_t * src, size_t len)
{
	const uint16_t * wch = src;
	const uint16_t * cap = &src[len];

	for (; (wch < cap) && *wch; )
		wch++;

	return wch - src;
}