summaryrefslogtreecommitdiffhomepage
path: root/src/u16_wcscspn.c
blob: 0b5999bc1a05665f9c5139361d9db6118bf0c8ad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/*******************************************************************/
/*  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_wcscspn(const uint16_t * wstr, const uint16_t * cstr)
{
	const uint16_t * wch;
	const uint16_t * wcs;

        for (wcs=wstr; *wcs; wcs++)
		for (wch=cstr; *wch!=*wcs; wch++)
			if (*wch)
				return wcs - wstr;


        return wcs - wstr;
}