From 894b0de0f2cd15655726ae885b44b030711328a3 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Fri, 20 Jul 2018 21:51:28 -0400 Subject: vfs: Make WriteBytes() overload taking a std::vector pass the std::vector by const reference Given the data is intended to be directly written, there's no need to take the std::vector by value and copy the data. --- src/core/file_sys/vfs_offset.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/core/file_sys/vfs_offset.cpp') diff --git a/src/core/file_sys/vfs_offset.cpp b/src/core/file_sys/vfs_offset.cpp index 31fdd9aa1..38ec4e0f9 100644 --- a/src/core/file_sys/vfs_offset.cpp +++ b/src/core/file_sys/vfs_offset.cpp @@ -75,7 +75,7 @@ bool OffsetVfsFile::WriteByte(u8 data, size_t r_offset) { return false; } -size_t OffsetVfsFile::WriteBytes(std::vector data, size_t r_offset) { +size_t OffsetVfsFile::WriteBytes(const std::vector& data, size_t r_offset) { return file->Write(data.data(), TrimToFit(data.size(), r_offset), offset + r_offset); } -- cgit v1.2.3 From 3e0727df1b9354952dc7690dddd3a8239bcdadda Mon Sep 17 00:00:00 2001 From: Lioncash Date: Fri, 20 Jul 2018 22:02:53 -0400 Subject: vfs_offset: Simplify TrimToFit() We can simply use std::clamp() here, instead of using an equivalent with std::max() and std::min(). --- src/core/file_sys/vfs_offset.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/core/file_sys/vfs_offset.cpp') diff --git a/src/core/file_sys/vfs_offset.cpp b/src/core/file_sys/vfs_offset.cpp index 38ec4e0f9..217e02235 100644 --- a/src/core/file_sys/vfs_offset.cpp +++ b/src/core/file_sys/vfs_offset.cpp @@ -2,6 +2,7 @@ // Licensed under GPLv2 or any later version // Refer to the license.txt file included. +#include #include #include "core/file_sys/vfs_offset.h" @@ -88,7 +89,7 @@ size_t OffsetVfsFile::GetOffset() const { } size_t OffsetVfsFile::TrimToFit(size_t r_size, size_t r_offset) const { - return std::max(std::min(size - r_offset, r_size), 0); + return std::clamp(r_size, size_t{0}, size - r_offset); } } // namespace FileSys -- cgit v1.2.3