Kaynağa Gözat

ips_layer: std::move data within PatchIPS() and Apply()

We don't need to make a copy of the read data, so we can std::move it
into the make_shared call here.
Lioncash 7 yıl önce
ebeveyn
işleme
93ac8d0fea
1 değiştirilmiş dosya ile 5 ekleme ve 2 silme
  1. 5 2
      src/core/file_sys/ips_layer.cpp

+ 5 - 2
src/core/file_sys/ips_layer.cpp

@@ -90,7 +90,9 @@ VirtualFile PatchIPS(const VirtualFile& in, const VirtualFile& ips) {
 
     if (temp != std::vector<u8>{'E', 'E', 'O', 'F'} && temp != std::vector<u8>{'E', 'O', 'F'})
         return nullptr;
-    return std::make_shared<VectorVfsFile>(in_data, in->GetName(), in->GetContainingDirectory());
+
+    return std::make_shared<VectorVfsFile>(std::move(in_data), in->GetName(),
+                                           in->GetContainingDirectory());
 }
 
 IPSwitchCompiler::IPSwitchCompiler(VirtualFile patch_text_) : patch_text(std::move(patch_text_)) {
@@ -291,7 +293,8 @@ VirtualFile IPSwitchCompiler::Apply(const VirtualFile& in) const {
         }
     }
 
-    return std::make_shared<VectorVfsFile>(in_data, in->GetName(), in->GetContainingDirectory());
+    return std::make_shared<VectorVfsFile>(std::move(in_data), in->GetName(),
+                                           in->GetContainingDirectory());
 }
 
 } // namespace FileSys