summaryrefslogtreecommitdiffhomepage
path: root/src/u16_wcscspn.c
blob: 9870dc76579f87c651b0eff680425e809d1ebf52 (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  Z. Gilboa                                  */
/*  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;
}