| ... | @@ -107,7 +107,12 @@ fn wcsncmp(a: [*:0]const wchar_t, b: [*:0]const wchar_t, max: usize) callconv(.c | ... | @@ -107,7 +107,12 @@ fn wcsncmp(a: [*:0]const wchar_t, b: [*:0]const wchar_t, max: usize) callconv(.c |
| 107 | } | 107 | } |
| 108 | | 108 | |
| 109 | fn wcpcpy(noalias dst: [*]wchar_t, noalias src: [*:0]const wchar_t) callconv(.c) [*]wchar_t { | 109 | fn wcpcpy(noalias dst: [*]wchar_t, noalias src: [*:0]const wchar_t) callconv(.c) [*]wchar_t { |
| 110 | return wcpncpy(dst, src, std.math.maxInt(usize)); | 110 | const src_slice = std.mem.span(src); |
| | 111 | @memcpy(dst[0..src_slice.len], src_slice); |
| | 112 | dst[src_slice.len] = 0; |
| | 113 | return dst + src_slice.len; |
| | 114 | // XXX: LLVM bug? |
| | 115 | // return wcpncpy(dst, src, std.math.maxInt(usize)); |
| 111 | } | 116 | } |
| 112 | | 117 | |
| 113 | fn wcpncpy(noalias dst: [*]wchar_t, noalias src: [*:0]const wchar_t, max: usize) callconv(.c) [*]wchar_t { | 118 | fn wcpncpy(noalias dst: [*]wchar_t, noalias src: [*:0]const wchar_t, max: usize) callconv(.c) [*]wchar_t { |