From ab4648d3ca38c68579a72b2260dfbea81e26730f Mon Sep 17 00:00:00 2001
From: Lioncash <mathew1800@gmail.com>
Date: Tue, 19 Aug 2014 00:20:56 -0400
Subject: [PATCH] Core: Use std::array for managing kernel object space

These avoid relying on memset for clearing the arrays.
---
 src/core/hle/kernel/kernel.cpp | 3 +--
 src/core/hle/kernel/kernel.h   | 7 ++++---
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/core/hle/kernel/kernel.cpp b/src/core/hle/kernel/kernel.cpp
index 96bc63a53a..a4a2588756 100644
--- a/src/core/hle/kernel/kernel.cpp
+++ b/src/core/hle/kernel/kernel.cpp
@@ -17,7 +17,6 @@ Handle g_main_thread = 0;
 ObjectPool g_object_pool;
 
 ObjectPool::ObjectPool() {
-    memset(occupied, 0, sizeof(bool) * MAX_COUNT);
     next_id = INITIAL_NEXT_ID;
 }
 
@@ -57,7 +56,7 @@ void ObjectPool::Clear() {
             delete pool[i];
         occupied[i] = false;
     }
-    memset(pool, 0, sizeof(Object*)*MAX_COUNT);
+    pool.fill(nullptr);
     next_id = INITIAL_NEXT_ID;
 }
 
diff --git a/src/core/hle/kernel/kernel.h b/src/core/hle/kernel/kernel.h
index 6a2e395ed6..0e7e5ff68a 100644
--- a/src/core/hle/kernel/kernel.h
+++ b/src/core/hle/kernel/kernel.h
@@ -4,6 +4,7 @@
 
 #pragma once
 
+#include <array>
 #include <string>
 #include "common/common.h"
 
@@ -160,9 +161,9 @@ private:
         INITIAL_NEXT_ID = 0x10,
     };
 
-    Object* pool[MAX_COUNT];
-    bool    occupied[MAX_COUNT];
-    int     next_id;
+    std::array<Object*, MAX_COUNT> pool;
+    std::array<bool, MAX_COUNT> occupied;
+    int next_id;
 };
 
 extern ObjectPool g_object_pool;