diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/core/hle/service/service.cpp | 4 | ||||
-rw-r--r-- | src/core/hle/service/service.h | 4 | ||||
-rw-r--r-- | src/core/loader/ncch.cpp | 12 | ||||
-rw-r--r-- | src/core/loader/ncch.h | 8 |
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 |