mirror of
https://github.com/J-D-K/JKSV.git
synced 2026-03-21 17:24:37 -05:00
Temp fixes for non-ASCII system users and drive crash if login canceled.
This commit is contained in:
parent
5049a52529
commit
f955093746
2
Makefile
2
Makefile
|
|
@ -38,7 +38,7 @@ INCLUDES := inc inc/ui inc/fs
|
|||
EXEFS_SRC := exefs_src
|
||||
APP_TITLE := JKSV
|
||||
APP_AUTHOR := JK
|
||||
APP_VERSION := 12.15.2021
|
||||
APP_VERSION := 11.17.2022
|
||||
ROMFS := romfs
|
||||
ICON := icon.jpg
|
||||
|
||||
|
|
|
|||
10
inc/data.h
10
inc/data.h
|
|
@ -7,9 +7,9 @@
|
|||
|
||||
#include "gfx.h"
|
||||
|
||||
#define BLD_MON 12
|
||||
#define BLD_DAY 15
|
||||
#define BLD_YEAR 2021
|
||||
#define BLD_MON 11
|
||||
#define BLD_DAY 17
|
||||
#define BLD_YEAR 2022
|
||||
|
||||
namespace data
|
||||
{
|
||||
|
|
@ -45,8 +45,8 @@ namespace data
|
|||
{
|
||||
public:
|
||||
user() = default;
|
||||
user(const AccountUid& _id, const std::string& _backupName);
|
||||
user(const AccountUid& _id, const std::string& _backupName, SDL_Texture *img);
|
||||
user(const AccountUid& _id, const std::string& _backupName, const std::string& _safeBackupName);
|
||||
user(const AccountUid& _id, const std::string& _backupName, const std::string& _safeBackupName, SDL_Texture *img);
|
||||
|
||||
//Sets ID
|
||||
void setUID(const AccountUid& _id);
|
||||
|
|
|
|||
|
|
@ -78,6 +78,10 @@ namespace util
|
|||
size_t getTotalPlacesInPath(const std::string& _path);
|
||||
void trimPath(std::string& _path, uint8_t _places);
|
||||
|
||||
inline bool isASCII(const uint32_t& t)
|
||||
{
|
||||
return t > 30 && t < 127;
|
||||
}
|
||||
std::string safeString(const std::string& s);
|
||||
|
||||
std::string getInfoString(data::user& u, const uint64_t& tid);
|
||||
|
|
|
|||
23
src/data.cpp
23
src/data.cpp
|
|
@ -163,7 +163,7 @@ static void loadUserAccounts()
|
|||
if(R_SUCCEEDED(accountListAllUsers(uids, 8, &total)))
|
||||
{
|
||||
for(int i = 0; i < total; i++)
|
||||
data::users.emplace_back(uids[i], "");
|
||||
data::users.emplace_back(uids[i], "", "");
|
||||
}
|
||||
delete[] uids;
|
||||
}
|
||||
|
|
@ -249,10 +249,11 @@ bool data::loadUsersTitles(bool clearUsers)
|
|||
loadUserAccounts();
|
||||
sysBCATPushed = false;
|
||||
tempPushed = false;
|
||||
users.emplace_back(util::u128ToAccountUID(3), ui::getUIString("saveTypeMainMenu", 0));
|
||||
users.emplace_back(util::u128ToAccountUID(2), ui::getUIString("saveTypeMainMenu", 1));
|
||||
users.emplace_back(util::u128ToAccountUID(5), ui::getUIString("saveTypeMainMenu", 2));
|
||||
users.emplace_back(util::u128ToAccountUID(0), ui::getUIString("saveTypeMainMenu", 3));
|
||||
|
||||
users.emplace_back(util::u128ToAccountUID(3), ui::getUIString("saveTypeMainMenu", 0), "Device");
|
||||
users.emplace_back(util::u128ToAccountUID(2), ui::getUIString("saveTypeMainMenu", 1), "BCAT");
|
||||
users.emplace_back(util::u128ToAccountUID(5), ui::getUIString("saveTypeMainMenu", 2), "Cache");
|
||||
users.emplace_back(util::u128ToAccountUID(0), ui::getUIString("saveTypeMainMenu", 3), "System");
|
||||
}
|
||||
|
||||
for(unsigned i = 0; i < 7; i++)
|
||||
|
|
@ -291,7 +292,7 @@ bool data::loadUsersTitles(bool clearUsers)
|
|||
{
|
||||
++systemUserCount;
|
||||
sysBCATPushed = true;
|
||||
users.emplace_back(util::u128ToAccountUID(4), ui::getUIString("saveTypeMainMenu", 4));
|
||||
users.emplace_back(util::u128ToAccountUID(4), ui::getUIString("saveTypeMainMenu", 4), "System BCAT");
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
@ -305,7 +306,7 @@ bool data::loadUsersTitles(bool clearUsers)
|
|||
{
|
||||
++systemUserCount;
|
||||
tempPushed = true;
|
||||
users.emplace_back(util::u128ToAccountUID(6), ui::getUIString("saveTypeMainMenu", 5));
|
||||
users.emplace_back(util::u128ToAccountUID(6), ui::getUIString("saveTypeMainMenu", 5), "Temporary");
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
@ -313,7 +314,7 @@ bool data::loadUsersTitles(bool clearUsers)
|
|||
int u = getUserIndex(info.uid);
|
||||
if(u == -1)
|
||||
{
|
||||
users.emplace(data::users.end() - systemUserCount, info.uid, "");
|
||||
users.emplace(data::users.end() - systemUserCount, info.uid, "", "");
|
||||
u = getUserIndex(info.uid);
|
||||
}
|
||||
|
||||
|
|
@ -426,7 +427,7 @@ int data::getTitleIndexInUser(const data::user& u, const uint64_t& tid)
|
|||
return -1;
|
||||
}
|
||||
|
||||
data::user::user(const AccountUid& _id, const std::string& _backupName)
|
||||
data::user::user(const AccountUid& _id, const std::string& _backupName, const std::string& _safeBackupName)
|
||||
{
|
||||
userID = _id;
|
||||
uID128 = util::accountUIDToU128(_id);
|
||||
|
|
@ -457,13 +458,13 @@ data::user::user(const AccountUid& _id, const std::string& _backupName)
|
|||
else
|
||||
{
|
||||
username = _backupName.empty() ? util::getIDStr((uint64_t)uID128) : _backupName;
|
||||
userSafe = _backupName.empty() ? util::getIDStr((uint64_t)uID128) : _backupName;
|
||||
userSafe = _safeBackupName.empty() ? util::getIDStr((uint64_t)uID128) : _safeBackupName;
|
||||
userIcon = util::createIconGeneric(_backupName.c_str(), 48, false);
|
||||
}
|
||||
titles.reserve(64);
|
||||
}
|
||||
|
||||
data::user::user(const AccountUid& _id, const std::string& _backupName, SDL_Texture *img) : user(_id, _backupName)
|
||||
data::user::user(const AccountUid& _id, const std::string& _backupName, const std::string& _safeBackupName, SDL_Texture *img) : user(_id, _backupName, _safeBackupName)
|
||||
{
|
||||
delIcon();
|
||||
userIcon = img;
|
||||
|
|
|
|||
|
|
@ -71,8 +71,11 @@ std::string fs::driveSignInGetAuthCode()
|
|||
size_t rLength = 0;
|
||||
char replyURLCstr[0x1000];
|
||||
webReplyGetLastUrl(&webReply, replyURLCstr, 0x1000, &rLength);
|
||||
replyURL.assign(replyURLCstr);
|
||||
//Prevent crash if empty.
|
||||
if(strlen(replyURLCstr) == 0)
|
||||
return "";
|
||||
|
||||
replyURL.assign(replyURLCstr);
|
||||
int unescLength = 0;
|
||||
size_t codeBegin = replyURL.find("approvalCode") + 13, codeEnd = replyURL.find_last_of('#');
|
||||
size_t codeLength = codeEnd - codeBegin;
|
||||
|
|
|
|||
|
|
@ -150,7 +150,8 @@ void ui::initStrings()
|
|||
addUIString("saveTypeMainMenu", 2, "Cache");
|
||||
addUIString("saveTypeMainMenu", 3, "System");
|
||||
addUIString("saveTypeMainMenu", 4, "System BCAT");
|
||||
addUIString("saveTypeMainMenu", 5, "SysTemp Storagetem");
|
||||
addUIString("saveTypeMainMenu", 5, "Temporary");
|
||||
//This is redundant. Need to merge and use one or the other...
|
||||
addUIString("saveDataTypeText", 0, "System");
|
||||
addUIString("saveDataTypeText", 1, "Account");
|
||||
addUIString("saveDataTypeText", 2, "BCAT");
|
||||
|
|
|
|||
|
|
@ -26,11 +26,6 @@ static bool isVerboten(const uint32_t& t)
|
|||
return false;
|
||||
}
|
||||
|
||||
static inline bool isASCII(const uint32_t& t)
|
||||
{
|
||||
return t > 30 && t < 127;
|
||||
}
|
||||
|
||||
void util::replaceStr(std::string& _str, const std::string& _find, const std::string& _rep)
|
||||
{
|
||||
size_t pos = 0;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user