summaryrefslogtreecommitdiffhomepage
path: root/src/u16_wcsncpy.c
blob: e5cab8cecb1bdc1cc3c38ef402ee425236ed9d6e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/*******************************************************************/
/*  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>

uint16_t * u16_wcsncpy(uint16_t * dst, const uint16_t * src, size_t len)
{
	uint16_t * ret;
	uint16_t * cap;

	ret = dst;
	cap = dst + len;

	for (; dst<cap && *src; )
		*dst++ = *src++;

	for (; dst<cap; )
		*dst++ = 0;

	return ret;
}