Results: Implement namespaced, type-safe results.

Because I was working on multiple things at once, this commit also:
- Adds wrappers for/linker flags to wrap CXX exceptions to make them
  abort. This saves ~0x8000 of memory in every system module.
- Broadly replaces lines of the pattern if (cond) { return ResultX; }
  with R_UNLESS(!cond, ResultX());.
- Reworks the R_TRY_CATCH macros (and the result macros in general).
This commit is contained in:
Michael Scire
2019-10-24 01:40:44 -07:00
committed by SciresM
parent 15773e4755
commit 4059dc6187
169 changed files with 2172 additions and 1868 deletions

View File

@@ -451,7 +451,7 @@ Result Utils::SaveSdFileForAtmosphere(u64 title_id, const char *fn, void *data,
/* Try to write the data. */
R_TRY(fsFileWrite(&f, 0, data, size, FS_WRITEOPTION_FLUSH));
return ResultSuccess;
return ResultSuccess();
}
bool Utils::IsHblTid(u64 _tid) {
@@ -539,7 +539,7 @@ Result Utils::GetKeysHeld(u64 *keys) {
*keys |= hidKeysHeld((HidControllerID) controller);
}
return ResultSuccess;
return ResultSuccess();
}
static bool HasOverrideKey(OverrideKey *cfg) {
@@ -793,7 +793,7 @@ Result Utils::GetSettingsItemBooleanValue(const char *name, const char *key, boo
if (out) {
*out = val != 0;
}
return ResultSuccess;
return ResultSuccess();
}
void Utils::RebootToFatalError(AtmosphereFatalErrorContext *ctx) {