diff options
| author | bunnei <bunneidev@gmail.com> | 2018-11-14 19:02:25 -0800 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-11-14 19:02:25 -0800 | 
| commit | c6c74248fe3fc08a3b223edcc0f8b48a2efcb370 (patch) | |
| tree | 501bf72cebd62fa3b8e74076f82da3cb154924bf /src/core | |
| parent | 0478308094d16c7f4198517870fb4b87c1819a48 (diff) | |
| parent | 9761936e02c710eb00247243d96d24c3f7a055ce (diff) | |
Merge pull request #1697 from lioncash/acc
acc/profile_manager: Minor cleanup-related changes
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/hle/service/acc/profile_manager.cpp | 25 | ||||
| -rw-r--r-- | src/core/hle/service/acc/profile_manager.h | 13 | 
2 files changed, 23 insertions, 15 deletions
| diff --git a/src/core/hle/service/acc/profile_manager.cpp b/src/core/hle/service/acc/profile_manager.cpp index c08394e4c..968263846 100644 --- a/src/core/hle/service/acc/profile_manager.cpp +++ b/src/core/hle/service/acc/profile_manager.cpp @@ -2,8 +2,11 @@  // Licensed under GPLv2 or any later version  // Refer to the license.txt file included. +#include <cstring>  #include <random> +#include <fmt/format.h> +  #include "common/file_util.h"  #include "core/hle/service/acc/profile_manager.h"  #include "core/settings.h" @@ -39,6 +42,19 @@ UUID UUID::Generate() {      return UUID{distribution(gen), distribution(gen)};  } +std::string UUID::Format() const { +    return fmt::format("0x{:016X}{:016X}", uuid[1], uuid[0]); +} + +std::string UUID::FormatSwitch() const { +    std::array<u8, 16> s{}; +    std::memcpy(s.data(), uuid.data(), sizeof(u128)); +    return fmt::format("{:02x}{:02x}{:02x}{:02x}-{:02x}{:02x}-{:02x}{:02x}-{:02x}{:02x}-{:02x}{" +                       ":02x}{:02x}{:02x}{:02x}{:02x}", +                       s[0], s[1], s[2], s[3], s[4], s[5], s[6], s[7], s[8], s[9], s[10], s[11], +                       s[12], s[13], s[14], s[15]); +} +  ProfileManager::ProfileManager() {      ParseUserSaveFile(); @@ -325,11 +341,12 @@ void ProfileManager::ParseUserSaveFile() {          return;      } -    for (std::size_t i = 0; i < MAX_USERS; ++i) { -        const auto& user = data.users[i]; +    for (const auto& user : data.users) { +        if (user.uuid == UUID(INVALID_UUID)) { +            continue; +        } -        if (user.uuid != UUID(INVALID_UUID)) -            AddUser({user.uuid, user.username, user.timestamp, {}, false}); +        AddUser({user.uuid, user.username, user.timestamp, {}, false});      }      std::stable_partition(profiles.begin(), profiles.end(), diff --git a/src/core/hle/service/acc/profile_manager.h b/src/core/hle/service/acc/profile_manager.h index 747c46c20..d2d8e6c6b 100644 --- a/src/core/hle/service/acc/profile_manager.h +++ b/src/core/hle/service/acc/profile_manager.h @@ -42,18 +42,9 @@ struct UUID {      void Invalidate() {          uuid = INVALID_UUID;      } -    std::string Format() const { -        return fmt::format("0x{:016X}{:016X}", uuid[1], uuid[0]); -    } -    std::string FormatSwitch() const { -        std::array<u8, 16> s{}; -        std::memcpy(s.data(), uuid.data(), sizeof(u128)); -        return fmt::format("{:02x}{:02x}{:02x}{:02x}-{:02x}{:02x}-{:02x}{:02x}-{:02x}{:02x}-{:02x}{" -                           ":02x}{:02x}{:02x}{:02x}{:02x}", -                           s[0], s[1], s[2], s[3], s[4], s[5], s[6], s[7], s[8], s[9], s[10], s[11], -                           s[12], s[13], s[14], s[15]); -    } +    std::string Format() const; +    std::string FormatSwitch() const;  };  static_assert(sizeof(UUID) == 16, "UUID is an invalid size!"); | 
