From 15d2ab1b33e8ef579d15bb6f20e6c625a58fb166 Mon Sep 17 00:00:00 2001
From: bunnei <ericbunnie@gmail.com>
Date: Mon, 26 May 2014 20:55:48 -0400
Subject: [PATCH] svc: added stub for DuplicateHandle SVC call

---
 src/core/hle/svc.cpp | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/core/hle/svc.cpp b/src/core/hle/svc.cpp
index 90c05cb74d..0c647b86f5 100644
--- a/src/core/hle/svc.cpp
+++ b/src/core/hle/svc.cpp
@@ -226,6 +226,13 @@ Result CreateEvent(void* _event, u32 reset_type) {
     return 0;
 }
 
+/// Duplicates a kernel handle
+Result DuplicateHandle(void* _out, Handle handle) {
+    Handle* out = (Handle*)_out;
+    DEBUG_LOG(SVC, "(UNIMPLEMENTED) DuplicateHandle called handle=0x%08X", handle);
+    return 0;
+}
+
 const HLE::FunctionDef SVC_Table[] = {
     {0x00,  NULL,                                       "Unknown"},
     {0x01,  WrapI_VUUUUU<ControlMemory>,                "ControlMemory"},
@@ -266,7 +273,7 @@ const HLE::FunctionDef SVC_Table[] = {
     {0x24,  WrapI_US64<WaitSynchronization1>,           "WaitSynchronization1"},
     {0x25,  WrapI_VVUUS64<WaitSynchronizationN>,        "WaitSynchronizationN"},
     {0x26,  NULL,                                       "SignalAndWait"},
-    {0x27,  NULL,                                       "DuplicateHandle"},
+    {0x27,  WrapI_VU<DuplicateHandle>,                  "DuplicateHandle"},
     {0x28,  NULL,                                       "GetSystemTick"},
     {0x29,  NULL,                                       "GetHandleInfo"},
     {0x2A,  NULL,                                       "GetSystemInfo"},