From a2cd07d0940e8bcd84d08dbf8f1d6663dc61ab6f Mon Sep 17 00:00:00 2001
From: Lioncash <mathew1800@gmail.com>
Date: Wed, 25 Jul 2018 17:29:49 -0400
Subject: [PATCH] service/nvdrv: Use std::move where applicable

Avoids unnecessary reference count increments and decrements.

In one case, we don't need to make a shared_ptr copy at all,
just to call a member function.
---
 src/core/hle/service/nvdrv/nvdrv.cpp | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/core/hle/service/nvdrv/nvdrv.cpp b/src/core/hle/service/nvdrv/nvdrv.cpp
index cc5cfe34e9..c5d3e2fff5 100644
--- a/src/core/hle/service/nvdrv/nvdrv.cpp
+++ b/src/core/hle/service/nvdrv/nvdrv.cpp
@@ -2,6 +2,8 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
+#include <utility>
+
 #include "core/hle/ipc_helpers.h"
 #include "core/hle/service/nvdrv/devices/nvdevice.h"
 #include "core/hle/service/nvdrv/devices/nvdisp_disp0.h"
@@ -45,9 +47,9 @@ u32 Module::Open(std::string device_name) {
                device_name);
 
     auto device = devices[device_name];
-    u32 fd = next_fd++;
+    const u32 fd = next_fd++;
 
-    open_files[fd] = device;
+    open_files[fd] = std::move(device);
 
     return fd;
 }
@@ -56,7 +58,7 @@ u32 Module::Ioctl(u32 fd, u32_le command, const std::vector<u8>& input, std::vec
     auto itr = open_files.find(fd);
     ASSERT_MSG(itr != open_files.end(), "Tried to talk to an invalid device");
 
-    auto device = itr->second;
+    auto& device = itr->second;
     return device->ioctl({command}, input, output);
 }