APT::GetStartupArgument: force clear startup argument

This commit is contained in:
mailwl 2016-11-02 21:48:10 +03:00
parent d0e4d1182b
commit e53cd12c42
2 changed files with 11 additions and 5 deletions

View file

@ -458,12 +458,16 @@ void GetStartupArgument(Service::Interface* self) {
return; return;
} }
LOG_WARNING(Service_APT, "(stubbed) called startup_argument_type=%u , parameter_size=0x%08x , " u32 addr = cmd_buff[65];
"parameter_value=0x%08x", if (addr && parameter_size) {
startup_argument_type, parameter_size, Memory::Read32(cmd_buff[41])); Memory::ZeroBlock(addr, parameter_size);
}
LOG_WARNING(Service_APT, "(stubbed) called startup_argument_type=%u , parameter_size=0x%08x",
startup_argument_type, parameter_size);
cmd_buff[1] = RESULT_SUCCESS.raw; cmd_buff[1] = RESULT_SUCCESS.raw;
cmd_buff[2] = (parameter_size > 0) ? 1 : 0; cmd_buff[2] = 0;
} }
void CheckNew3DSApp(Service::Interface* self) { void CheckNew3DSApp(Service::Interface* self) {

View file

@ -407,9 +407,11 @@ void CancelLibraryApplet(Service::Interface* self);
* Inputs: * Inputs:
* 1 : Parameter Size (capped to 0x300) * 1 : Parameter Size (capped to 0x300)
* 2 : StartupArgumentType * 2 : StartupArgumentType
* 65 : Output buffer for startup argument
* Outputs: * Outputs:
* 0 : Return header * 0 : Return header
* 1 : u8, Exists (0 = does not exist, 1 = exists) * 1 : Result of function, 0 on success, otherwise error code
* 2 : u8, Exists (0 = does not exist, 1 = exists)
*/ */
void GetStartupArgument(Service::Interface* self); void GetStartupArgument(Service::Interface* self);