Changed the value of TimeType_Default to TimeType_UserSystemClock. When timeGetCurrentTime fails where __nx_time_type isn't TimeType_Default, call it again with TimeType_Default.

This commit is contained in:
yellows8 2018-10-03 19:47:56 -04:00
parent 16bbf3411e
commit 0b1b7039ca
2 changed files with 3 additions and 2 deletions

View File

@ -14,7 +14,7 @@ typedef enum {
TimeType_UserSystemClock, TimeType_UserSystemClock,
TimeType_NetworkSystemClock, TimeType_NetworkSystemClock,
TimeType_LocalSystemClock, TimeType_LocalSystemClock,
TimeType_Default = TimeType_NetworkSystemClock, TimeType_Default = TimeType_UserSystemClock,
} TimeType; } TimeType;
Result timeInitialize(void); Result timeInitialize(void);

View File

@ -21,7 +21,7 @@ extern const u8 __tdata_lma[];
extern const u8 __tdata_lma_end[]; extern const u8 __tdata_lma_end[];
extern u8 __tls_start[]; extern u8 __tls_start[];
/// TimeType passed to timeGetCurrentTime() by __libnx_gtod(). /// TimeType passed to timeGetCurrentTime() during time initialization. If that fails and __nx_time_type isn't TimeType_Default, timeGetCurrentTime() will be called again with TimeType_Default.
__attribute__((weak)) TimeType __nx_time_type = TimeType_Default; __attribute__((weak)) TimeType __nx_time_type = TimeType_Default;
static struct _reent* __libnx_get_reent(void) { static struct _reent* __libnx_get_reent(void) {
@ -38,6 +38,7 @@ static u64 __bootticks;
// setup boot time variables // setup boot time variables
void __libnx_init_time(void) { void __libnx_init_time(void) {
Result rc = timeGetCurrentTime(__nx_time_type, &__boottime); Result rc = timeGetCurrentTime(__nx_time_type, &__boottime);
if (R_FAILED(rc) && __nx_time_type != TimeType_Default) rc = timeGetCurrentTime(TimeType_Default, &__boottime);
if (R_FAILED(rc)) { if (R_FAILED(rc)) {
__boottime = UINT64_MAX; __boottime = UINT64_MAX;
} else { } else {