aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/hle
diff options
context:
space:
mode:
authorGravatar Subv <subv2112@gmail.com>2014-12-21 17:26:51 -0500
committerGravatar Subv <subv2112@gmail.com>2014-12-21 17:26:51 -0500
commitb3cee192892e9ee770c42f203e5a14bca17d4ba0 (patch)
tree3bd0c394f0c0243fcd23d7222d77b61ac9a7b8ca /src/core/hle
parent3e94b9054c542d3d76e6db622f361a03de788410 (diff)
CFG: Changed the CreateConfigInfoBlk search loop
Diffstat (limited to 'src/core/hle')
-rw-r--r--src/core/hle/service/cfg/cfg.cpp11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/core/hle/service/cfg/cfg.cpp b/src/core/hle/service/cfg/cfg.cpp
index d41e1528..2697f803 100644
--- a/src/core/hle/service/cfg/cfg.cpp
+++ b/src/core/hle/service/cfg/cfg.cpp
@@ -69,19 +69,16 @@ ResultCode CreateConfigInfoBlk(u32 block_id, u32 size, u32 flags, const u8* data
// Insert the block header with offset 0 for now
config->block_entries[config->total_entries] = { block_id, 0, size, flags };
if (size > 4) {
- s32 total_entries = config->total_entries - 1;
u32 offset = config->data_entries_offset;
// Perform a search to locate the next offset for the new data
// use the offset and size of the previous block to determine the new position
- while (total_entries >= 0) {
+ for (int i = config->total_entries - 1; i >= 0; --i) {
// Ignore the blocks that don't have a separate data offset
- if (config->block_entries[total_entries].size > 4) {
- offset = config->block_entries[total_entries].offset_or_data +
- config->block_entries[total_entries].size;
+ if (config->block_entries[i].size > 4) {
+ offset = config->block_entries[i].offset_or_data +
+ config->block_entries[i].size;
break;
}
-
- --total_entries;
}
config->block_entries[config->total_entries].offset_or_data = offset;