1
0
Fork 0
mirror of https://github.com/Atmosphere-NX/Atmosphere.git synced 2024-11-26 22:02:15 +00:00

Merge branch 'master' into emunand_dev

This commit is contained in:
hexkyz 2019-06-09 19:23:51 +01:00
commit 4c4f037361
3 changed files with 21 additions and 30 deletions

View file

@ -14,14 +14,9 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include <cstdlib> #pragma once
#include <cstdint>
#include <cstring>
#include <malloc.h>
#include <switch.h> #include <switch.h>
#include <atmosphere.h>
#include <stratosphere.hpp>
constexpr u32 BpcMitmPriority = 32; constexpr u32 BpcMitmPriority = 32;
constexpr u32 BpcMitmStackSize = 0x8000; constexpr u32 BpcMitmStackSize = 0x8000;

View file

@ -154,7 +154,7 @@ static Result ParseValue(const char *name, const char *key, const char *val_tup)
return ResultSettingsItemValueInvalidFormat; return ResultSettingsItemValueInvalidFormat;
} }
std::string kv = std::string(name) + "!" + std::string(key); std::string kv = std::string(name).append("!").append(key);
SettingsItemValue value; SettingsItemValue value;
if (strncasecmp(type, "str", type_len) == 0 || strncasecmp(type, "string", type_len) == 0) { if (strncasecmp(type, "str", type_len) == 0 || strncasecmp(type, "string", type_len) == 0) {
@ -254,20 +254,16 @@ void SettingsItemManager::LoadConfiguration() {
}; };
/* Allocate buffer. */ /* Allocate buffer. */
char *config_buf = new char[0x10000]; std::string config_buf(0xFFFF, '\0');
std::memset(config_buf, 0, 0x10000);
ON_SCOPE_EXIT {
delete[] config_buf;
};
/* Read from file. */ /* Read from file. */
if (R_SUCCEEDED(rc)) { if (R_SUCCEEDED(rc)) {
size_t actual_size; size_t actual_size;
rc = fsFileRead(&config_file, 0, config_buf, 0xFFFF, FS_READOPTION_NONE, &actual_size); rc = fsFileRead(&config_file, 0, config_buf.data(), config_buf.size(), FS_READOPTION_NONE, &actual_size);
} }
if (R_SUCCEEDED(rc)) { if (R_SUCCEEDED(rc)) {
ini_parse_string(config_buf, SettingsItemIniHandler, &rc); ini_parse_string(config_buf.c_str(), SettingsItemIniHandler, &rc);
} }
/* Report error if we encountered one. */ /* Report error if we encountered one. */
@ -279,7 +275,7 @@ void SettingsItemManager::LoadConfiguration() {
} }
Result SettingsItemManager::GetValueSize(const char *name, const char *key, u64 *out_size) { Result SettingsItemManager::GetValueSize(const char *name, const char *key, u64 *out_size) {
std::string kv = std::string(name) + "!" + std::string(key); const std::string kv = std::string(name).append("!").append(key);
auto it = g_settings_items.find(kv); auto it = g_settings_items.find(kv);
if (it == g_settings_items.end()) { if (it == g_settings_items.end()) {
@ -291,7 +287,7 @@ Result SettingsItemManager::GetValueSize(const char *name, const char *key, u64
} }
Result SettingsItemManager::GetValue(const char *name, const char *key, void *out, size_t max_size, u64 *out_size) { Result SettingsItemManager::GetValue(const char *name, const char *key, void *out, size_t max_size, u64 *out_size) {
std::string kv = std::string(name) + "!" + std::string(key); const std::string kv = std::string(name).append("!").append(key);
auto it = g_settings_items.find(kv); auto it = g_settings_items.find(kv);
if (it == g_settings_items.end()) { if (it == g_settings_items.end()) {

View file

@ -172,7 +172,7 @@ Result DebugMonitorService::TargetIO_FileRead(InBuffer<u64> hnd, OutBuffer<u8, B
} }
size_t read = 0; size_t read = 0;
rc = fsFileRead(&f, offset, out_data.buffer, out_data.num_elements, &read); rc = fsFileRead(&f, offset, out_data.buffer, out_data.num_elements, FS_READOPTION_NONE, &read);
out_read.SetValue(static_cast<u32>(read)); out_read.SetValue(static_cast<u32>(read));
return rc; return rc;
} }
@ -189,7 +189,7 @@ Result DebugMonitorService::TargetIO_FileWrite(InBuffer<u64> hnd, InBuffer<u8, B
return rc; return rc;
} }
rc = fsFileWrite(&f, offset, data.buffer, data.num_elements); rc = fsFileWrite(&f, offset, data.buffer, data.num_elements, FS_WRITEOPTION_NONE);
if (R_SUCCEEDED(rc)) { if (R_SUCCEEDED(rc)) {
out_written.SetValue(data.num_elements); out_written.SetValue(data.num_elements);
} }