From afc33f00ee65bfefa173200e4ec8c0f329172d3f Mon Sep 17 00:00:00 2001 From: Ryan Liptak Date: Thu, 25 Apr 2019 13:41:19 -0700 Subject: [PATCH] heap: fixup style of realloc memory copies --- std/heap.zig | 24 ++++-------------------- 1 file changed, 4 insertions(+), 20 deletions(-) diff --git a/std/heap.zig b/std/heap.zig index 27f16d0391..239a65961a 100644 --- a/std/heap.zig +++ b/std/heap.zig @@ -139,11 +139,7 @@ pub const DirectAllocator = struct { return shrink(allocator, old_mem, old_align, new_size, new_align); } const result = try alloc(allocator, new_size, new_align); - if (result.len >= old_mem.len) { - mem.copy(u8, result, old_mem); - } else { - @memcpy(result.ptr, old_mem.ptr, new_size); - } + @memcpy(result.ptr, old_mem.ptr, std.math.min(old_mem.len, result.len)); _ = os.posix.munmap(@ptrToInt(old_mem.ptr), old_mem.len); return result; }, @@ -274,11 +270,7 @@ pub const ArenaAllocator = struct { return error.OutOfMemory; } else { const result = try alloc(allocator, new_size, new_align); - if (result.len >= old_mem.len) { - mem.copy(u8, result, old_mem); - } else { - @memcpy(result.ptr, old_mem.ptr, new_size); - } + @memcpy(result.ptr, old_mem.ptr, std.math.min(old_mem.len, result.len)); return result; } } @@ -336,11 +328,7 @@ pub const FixedBufferAllocator = struct { return error.OutOfMemory; } else { const result = try alloc(allocator, new_size, new_align); - if (result.len >= old_mem.len) { - mem.copy(u8, result, old_mem); - } else { - @memcpy(result.ptr, old_mem.ptr, new_size); - } + @memcpy(result.ptr, old_mem.ptr, std.math.min(old_mem.len, result.len)); return result; } } @@ -483,11 +471,7 @@ pub const ThreadSafeFixedBufferAllocator = blk: { return error.OutOfMemory; } else { const result = try alloc(allocator, new_size, new_align); - if (result.len >= old_mem.len) { - mem.copy(u8, result, old_mem); - } else { - @memcpy(result.ptr, old_mem.ptr, new_size); - } + @memcpy(result.ptr, old_mem.ptr, std.math.min(old_mem.len, result.len)); return result; } }