| ... | @@ -1256,10 +1256,8 @@ fn limitedOverlapCopy(frag: []u8, in: usize) void { | ... | @@ -1256,10 +1256,8 @@ fn limitedOverlapCopy(frag: []u8, in: usize) void { |
| 1256 | // A single, non-overlapping memcpy suffices. | 1256 | // A single, non-overlapping memcpy suffices. |
| 1257 | @memcpy(frag[0..first.len], first); | 1257 | @memcpy(frag[0..first.len], first); |
| 1258 | } else { | 1258 | } else { |
| 1259 | // Need two memcpy calls because one alone would overlap. | 1259 | // One memcpy call would overlap, so just do this instead. |
| 1260 | @memcpy(frag[0..in], first[0..in]); | 1260 | std.mem.copyForwards(u8, frag, first); |
| 1261 | const leftover = first.len - in; | | |
| 1262 | @memcpy(frag[in..][0..leftover], first[in..][0..leftover]); | | |
| 1263 | } | 1261 | } |
| 1264 | } | 1262 | } |
| 1265 | | 1263 | |