diff options
| author | Sebastian Valle <subv2112@gmail.com> | 2016-12-11 14:40:44 -0500 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-12-11 14:40:44 -0500 | 
| commit | 77fd4f42376c115d0082dbc8fed6b3ed588f37bf (patch) | |
| tree | 2b3f2fc4e58a29e76a6130a70260b2fecfd0c6a7 /src/core/hle | |
| parent | d0e4d1182bd1bb4811662d47cde091826ca38600 (diff) | |
| parent | e53cd12c42b8efb9d980e4c6aac66ea9ffb9f89e (diff) | |
Merge pull request #2154 from mailwl/apt-getstartupargument
APT::GetStartupArgument: force clear startup argument
Diffstat (limited to 'src/core/hle')
| -rw-r--r-- | src/core/hle/service/apt/apt.cpp | 12 | ||||
| -rw-r--r-- | src/core/hle/service/apt/apt.h | 4 | 
2 files changed, 11 insertions, 5 deletions
| diff --git a/src/core/hle/service/apt/apt.cpp b/src/core/hle/service/apt/apt.cpp index 31e5e07b2..615fe31ea 100644 --- a/src/core/hle/service/apt/apt.cpp +++ b/src/core/hle/service/apt/apt.cpp @@ -458,12 +458,16 @@ void GetStartupArgument(Service::Interface* self) {          return;      } -    LOG_WARNING(Service_APT, "(stubbed) called startup_argument_type=%u , parameter_size=0x%08x , " -                             "parameter_value=0x%08x", -                startup_argument_type, parameter_size, Memory::Read32(cmd_buff[41])); +    u32 addr = cmd_buff[65]; +    if (addr && parameter_size) { +        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[2] = (parameter_size > 0) ? 1 : 0; +    cmd_buff[2] = 0;  }  void CheckNew3DSApp(Service::Interface* self) { diff --git a/src/core/hle/service/apt/apt.h b/src/core/hle/service/apt/apt.h index 44dbd8757..e6a8be870 100644 --- a/src/core/hle/service/apt/apt.h +++ b/src/core/hle/service/apt/apt.h @@ -407,9 +407,11 @@ void CancelLibraryApplet(Service::Interface* self);   *  Inputs:   *      1 : Parameter Size (capped to 0x300)   *      2 : StartupArgumentType + *      65 : Output buffer for startup argument   *  Outputs:   *      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); | 
