Zig 0.17.0-dev (Split by item)

This is an example of documentation generated by ZigDoc, an alternative to Zig's built-in Auto Doc feature. See also examples in other modes/formats. The project being documented here (as the example) is the Zig library itself.

wcsdup

wchar.wcsdup
fn wcsdup(str: [*:0]const wchar_t) callconv(.c) ?[*:0]wchar_t

File

lib/c/wchar.zig:195

Code

fn wcsdup(str: [*:0]const wchar_t) callconv(.c) ?[*:0]wchar_t {
    const len = wcslen(str);
    const size = (len + 1) * @sizeOf(wchar_t);
    const d_opaque = c.malloc(size) orelse return null;
    const d: [*]wchar_t = @ptrCast(@alignCast(d_opaque));
    return @ptrCast(wmemcpy(d, str, len + 1));
}