Super User's BSD Cross Reference: /OpenBSD/lib/libc/string/wcsdup.c

1 /* $OpenBSD: wcsdup.c,v 1.3 2015年09月12日 16:23:14 guenther Exp $ */
2 /* $NetBSD: wcsdup.c,v 1.3 2008年05月26日 13:17:48 haad Exp $ */
3
4 /*
5 * Copyright (C) 2006 Aleksey Cheusov
6 *
7 * This material is provided "as is", with absolutely no warranty expressed
8 * or implied. Any use is at your own risk.
9 *
10 * Permission to use or copy this software for any purpose is hereby granted
11 * without fee. Permission to modify the code and to distribute modified
12 * code is also granted without any restrictions.
13 */
14
15#include <stdlib.h>
16#include <wchar.h>
17
18 wchar_t *
19 wcsdup(const wchar_t *str)
20{
21 wchar_t *copy;
22 size_t len;
23
24 len = wcslen(str) + 1;
25 copy = reallocarray(NULL, len, sizeof(wchar_t));
26
27 if (!copy)
28 return (NULL);
29
30 return (wmemcpy(copy, str, len));
31}
32 DEF_WEAK(wcsdup);
33 

AltStyle によって変換されたページ (->オリジナル) /