diff --git a/libctru/source/services/apt.c b/libctru/source/services/apt.c index 7fdad04..35771cd 100644 --- a/libctru/source/services/apt.c +++ b/libctru/source/services/apt.c @@ -1101,13 +1101,15 @@ Result APT_CheckNew3DS_Application(Handle* handle, u8 *out) Result ret=0; if((ret=svcSendSyncRequest(*handle)))return ret; + if(ret==0)ret = cmdbuf[1]; + if(out) { *out = 0; if(ret==0)*out=cmdbuf[2]; } - return cmdbuf[1]; + return ret; } Result APT_CheckNew3DS_System(Handle* handle, u8 *out) @@ -1120,19 +1122,25 @@ Result APT_CheckNew3DS_System(Handle* handle, u8 *out) Result ret=0; if((ret=svcSendSyncRequest(*handle)))return ret; + if(ret==0)ret = cmdbuf[1]; + if(out) { *out = 0; if(ret==0)*out=cmdbuf[2]; } - return cmdbuf[1]; + return ret; } Result APT_CheckNew3DS(Handle* handle, u8 *out) { Result ret=0; + if(out==NULL)return -1; + + *out = 0; + if(__apt_new3dsflag_initialized) { *out = __apt_new3dsflag;