diff --git a/sysmodules/rosalina/include/gdb.h b/sysmodules/rosalina/include/gdb.h index 286b395..e21c41e 100644 --- a/sysmodules/rosalina/include/gdb.h +++ b/sysmodules/rosalina/include/gdb.h @@ -67,8 +67,8 @@ typedef struct PackedGdbHioRequest char functionName[16+1]; char paramFormat[8+1]; - u32 parameters[8]; - u32 stringLengths[8]; + u64 parameters[8]; + size_t stringLengths[8]; // Return int retval; diff --git a/sysmodules/rosalina/source/errdisp.c b/sysmodules/rosalina/source/errdisp.c index 62cacb5..914895f 100644 --- a/sysmodules/rosalina/source/errdisp.c +++ b/sysmodules/rosalina/source/errdisp.c @@ -235,7 +235,8 @@ void ERRF_HandleCommands(void *ctx) case 1: // Throw { ERRF_FatalErrInfo *info = (ERRF_FatalErrInfo *)(cmdbuf + 1); - if(info->type != ERRF_ERRTYPE_LOGGED || info->procId == 0 || R_FAILED(ERRF_SaveErrorToFile(info))) + ERRF_SaveErrorToFile(info); + if(info->type != ERRF_ERRTYPE_LOGGED || info->procId == 0) { menuEnter(); diff --git a/sysmodules/rosalina/source/gdb/hio.c b/sysmodules/rosalina/source/gdb/hio.c index 775fffe..968368f 100644 --- a/sysmodules/rosalina/source/gdb/hio.c +++ b/sysmodules/rosalina/source/gdb/hio.c @@ -69,10 +69,13 @@ int GDB_SendCurrentHioRequest(GDBContext *ctx) case 'i': case 'I': case 'p': - sprintf(tmp, ",%lx", ctx->currentHioRequest.parameters[i]); + sprintf(tmp, ",%lx", (u32)ctx->currentHioRequest.parameters[i]); + break; + case 'L': + sprintf(tmp, ",%llx", ctx->currentHioRequest.parameters[i]); break; case 's': - sprintf(tmp, ",%lx/%lx", ctx->currentHioRequest.parameters[i], ctx->currentHioRequest.stringLengths[nStr++]); + sprintf(tmp, ",%lx/%x", (u32)ctx->currentHioRequest.parameters[i], ctx->currentHioRequest.stringLengths[nStr++]); break; default: tmp[0] = 0;