aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Lioncash <mathew1800@gmail.com>2014-08-19 00:20:56 -0400
committerGravatar Lioncash <mathew1800@gmail.com>2014-08-19 00:32:48 -0400
commitab4648d3ca38c68579a72b2260dfbea81e26730f (patch)
treeacc964ea1b91fb2c13baf8244b006bb98deabc1c /src
parente9c5c563a500ac19ecb2f580ce065a9010dedac9 (diff)
Core: Use std::array for managing kernel object space
These avoid relying on memset for clearing the arrays.
Diffstat (limited to 'src')
-rw-r--r--src/core/hle/kernel/kernel.cpp3
-rw-r--r--src/core/hle/kernel/kernel.h7
2 files changed, 5 insertions, 5 deletions
diff --git a/src/core/hle/kernel/kernel.cpp b/src/core/hle/kernel/kernel.cpp
index 96bc63a5..a4a25887 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 6a2e395e..0e7e5ff6 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;