summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/core/hle/service/service.cpp4
-rw-r--r--src/core/hle/service/service.h4
-rw-r--r--src/core/loader/ncch.cpp12
-rw-r--r--src/core/loader/ncch.h8
4 files changed, 13 insertions, 15 deletions
diff --git a/src/core/hle/service/service.cpp b/src/core/hle/service/service.cpp
index d3af2768a..00ac1c9c6 100644
--- a/src/core/hle/service/service.cpp
+++ b/src/core/hle/service/service.cpp
@@ -41,7 +41,7 @@ void Manager::AddService(Interface* service) {
}
/// Removes a service from the manager, also frees memory
-void Manager::DeleteService(std::string port_name) {
+void Manager::DeleteService(const std::string& port_name) {
Interface* service = FetchFromPortName(port_name);
m_services.erase(std::remove(m_services.begin(), m_services.end(), service), m_services.end());
m_port_map.erase(port_name);
@@ -54,7 +54,7 @@ Interface* Manager::FetchFromHandle(Handle handle) {
}
/// Get a Service Interface from its port
-Interface* Manager::FetchFromPortName(std::string port_name) {
+Interface* Manager::FetchFromPortName(const std::string& port_name) {
auto itr = m_port_map.find(port_name);
if (itr == m_port_map.end()) {
return nullptr;
diff --git a/src/core/hle/service/service.h b/src/core/hle/service/service.h
index cb1ecde31..c0e803bda 100644
--- a/src/core/hle/service/service.h
+++ b/src/core/hle/service/service.h
@@ -149,13 +149,13 @@ public:
void AddService(Interface* service);
/// Removes a service from the manager (does not delete it though)
- void DeleteService(std::string port_name);
+ void DeleteService(const std::string& port_name);
/// Get a Service Interface from its UID
Interface* FetchFromHandle(u32 uid);
/// Get a Service Interface from its port
- Interface* FetchFromPortName(std::string port_name);
+ Interface* FetchFromPortName(const std::string& port_name);
private:
diff --git a/src/core/loader/ncch.cpp b/src/core/loader/ncch.cpp
index ba27eb75a..9af59e419 100644
--- a/src/core/loader/ncch.cpp
+++ b/src/core/loader/ncch.cpp
@@ -40,19 +40,17 @@ u32 LZSS_GetDecompressedSize(u8* buffer, u32 size) {
bool LZSS_Decompress(u8* compressed, u32 compressed_size, u8* decompressed, u32 decompressed_size) {
u8* footer = compressed + compressed_size - 8;
u32 buffer_top_and_bottom = *(u32*)footer;
- u32 i, j;
u32 out = decompressed_size;
u32 index = compressed_size - ((buffer_top_and_bottom >> 24) & 0xFF);
- u8 control;
u32 stop_index = compressed_size - (buffer_top_and_bottom & 0xFFFFFF);
memset(decompressed, 0, decompressed_size);
memcpy(decompressed, compressed, compressed_size);
while(index > stop_index) {
- control = compressed[--index];
+ u8 control = compressed[--index];
- for(i = 0; i < 8; i++) {
+ for(u32 i = 0; i < 8; i++) {
if(index <= stop_index)
break;
if(index <= 0)
@@ -76,13 +74,13 @@ bool LZSS_Decompress(u8* compressed, u32 compressed_size, u8* decompressed, u32
if(out < segment_size) {
return false;
}
- for(j = 0; j < segment_size; j++) {
- u8 data;
+ for(u32 j = 0; j < segment_size; j++) {
// Check if compression is out of bounds
if(out + segment_offset >= decompressed_size) {
return false;
}
- data = decompressed[out + segment_offset];
+
+ u8 data = decompressed[out + segment_offset];
decompressed[--out] = data;
}
} else {
diff --git a/src/core/loader/ncch.h b/src/core/loader/ncch.h
index 29b59aa11..f40a258b7 100644
--- a/src/core/loader/ncch.h
+++ b/src/core/loader/ncch.h
@@ -46,17 +46,17 @@ struct NCCH_Header {
////////////////////////////////////////////////////////////////////////////////////////////////////
// ExeFS (executable file system) headers
-typedef struct {
+struct ExeFs_SectionHeader {
char name[8];
u32 offset;
u32 size;
-} ExeFs_SectionHeader;
+};
-typedef struct {
+struct ExeFs_Header {
ExeFs_SectionHeader section[8];
u8 reserved[0x80];
u8 hashes[8][0x20];
-} ExeFs_Header;
+};
////////////////////////////////////////////////////////////////////////////////////////////////////
// ExHeader (executable file system header) headers