diff options
author | Zach Hilman <zachhilman@gmail.com> | 2019-06-07 00:40:59 +0200 |
---|---|---|
committer | Zach Hilman <zachhilman@gmail.com> | 2019-06-25 02:05:11 +0200 |
commit | 01ff38cca80c5cf7e64494b129dde8d7c8ebbee5 (patch) | |
tree | 1bcb28a01c067abe641fe167e99416217fba0f5c /src/core/hle/service/am | |
parent | web_browser: Only delete temporary directory if it was created (diff) | |
download | yuzu-01ff38cca80c5cf7e64494b129dde8d7c8ebbee5.tar yuzu-01ff38cca80c5cf7e64494b129dde8d7c8ebbee5.tar.gz yuzu-01ff38cca80c5cf7e64494b129dde8d7c8ebbee5.tar.bz2 yuzu-01ff38cca80c5cf7e64494b129dde8d7c8ebbee5.tar.lz yuzu-01ff38cca80c5cf7e64494b129dde8d7c8ebbee5.tar.xz yuzu-01ff38cca80c5cf7e64494b129dde8d7c8ebbee5.tar.zst yuzu-01ff38cca80c5cf7e64494b129dde8d7c8ebbee5.zip |
Diffstat (limited to 'src/core/hle/service/am')
-rw-r--r-- | src/core/hle/service/am/applets/web_browser.cpp | 30 | ||||
-rw-r--r-- | src/core/hle/service/am/applets/web_browser.h | 2 |
2 files changed, 16 insertions, 16 deletions
diff --git a/src/core/hle/service/am/applets/web_browser.cpp b/src/core/hle/service/am/applets/web_browser.cpp index 3c3af476c..3aa8f2468 100644 --- a/src/core/hle/service/am/applets/web_browser.cpp +++ b/src/core/hle/service/am/applets/web_browser.cpp @@ -103,6 +103,17 @@ enum class ShimKind : u32 { Lobby = 7, }; +enum class ShopWebTarget { + ApplicationInfo, + AddOnContentList, + SubscriptionList, + ConsumableItemList, + Home, + Settings, +}; + +namespace { + constexpr std::size_t SHIM_KIND_COUNT = 0x8; struct WebArgHeader { @@ -148,31 +159,20 @@ enum class OfflineWebSource : u32 { SystemDataPage = 0x3, }; -enum class ShopWebTarget { - ApplicationInfo, - AddOnContentList, - SubscriptionList, - ConsumableItemList, - Home, - Settings, -}; - -namespace { - std::map<WebArgTLVType, std::vector<u8>> GetWebArguments(const std::vector<u8>& arg) { - WebArgHeader header{}; if (arg.size() < sizeof(WebArgHeader)) return {}; + WebArgHeader header{}; std::memcpy(&header, arg.data(), sizeof(WebArgHeader)); std::map<WebArgTLVType, std::vector<u8>> out; u64 offset = sizeof(WebArgHeader); for (std::size_t i = 0; i < header.count; ++i) { - WebArgTLV tlv{}; if (arg.size() < (offset + sizeof(WebArgTLV))) return out; + WebArgTLV tlv{}; std::memcpy(&tlv, arg.data() + offset, sizeof(WebArgTLV)); offset += sizeof(WebArgTLV); @@ -392,7 +392,7 @@ void WebBrowser::InitializeShop() { return; } - const std::map<std::string, ShopWebTarget> target_map{ + const std::map<std::string, ShopWebTarget, std::less<>> target_map{ {"product_detail", ShopWebTarget::ApplicationInfo}, {"aocs", ShopWebTarget::AddOnContentList}, {"subscriptions", ShopWebTarget::SubscriptionList}, @@ -480,7 +480,7 @@ void WebBrowser::InitializeOffline() { std::string path_additional_directory; if (source == OfflineWebSource::OfflineHtmlPage) { - path_additional_directory = std::string(DIR_SEP) + "html-document"; + path_additional_directory = std::string(DIR_SEP).append("html-document"); } filename = diff --git a/src/core/hle/service/am/applets/web_browser.h b/src/core/hle/service/am/applets/web_browser.h index 42f0a3e8a..9667dcf6f 100644 --- a/src/core/hle/service/am/applets/web_browser.h +++ b/src/core/hle/service/am/applets/web_browser.h @@ -67,7 +67,7 @@ private: std::string filename; ShopWebTarget shop_web_target; - std::map<std::string, std::string> shop_query; + std::map<std::string, std::string, std::less<>> shop_query; std::optional<u64> title_id = 0; std::optional<u128> user_id; std::optional<bool> shop_full_display; |