diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/hle/kernel/svc.cpp | 6 | ||||
| -rw-r--r-- | src/core/hle/kernel/svc_wrap.h | 4 |
2 files changed, 7 insertions, 3 deletions
diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp index f1be402cb..f500fd2e7 100644 --- a/src/core/hle/kernel/svc.cpp +++ b/src/core/hle/kernel/svc.cpp | |||
| @@ -273,7 +273,11 @@ static void Break(u64 reason, u64 info1, u64 info2) { | |||
| 273 | } | 273 | } |
| 274 | 274 | ||
| 275 | /// Used to output a message on a debug hardware unit - does nothing on a retail unit | 275 | /// Used to output a message on a debug hardware unit - does nothing on a retail unit |
| 276 | static void OutputDebugString(VAddr address, s32 len) { | 276 | static void OutputDebugString(VAddr address, u64 len) { |
| 277 | if (len == 0) { | ||
| 278 | return; | ||
| 279 | } | ||
| 280 | |||
| 277 | std::string str(len, '\0'); | 281 | std::string str(len, '\0'); |
| 278 | Memory::ReadBlock(address, str.data(), str.size()); | 282 | Memory::ReadBlock(address, str.data(), str.size()); |
| 279 | LOG_DEBUG(Debug_Emulated, "{}", str); | 283 | LOG_DEBUG(Debug_Emulated, "{}", str); |
diff --git a/src/core/hle/kernel/svc_wrap.h b/src/core/hle/kernel/svc_wrap.h index 79c3fe31b..1eda5f879 100644 --- a/src/core/hle/kernel/svc_wrap.h +++ b/src/core/hle/kernel/svc_wrap.h | |||
| @@ -222,9 +222,9 @@ void SvcWrap() { | |||
| 222 | func((s64)PARAM(0)); | 222 | func((s64)PARAM(0)); |
| 223 | } | 223 | } |
| 224 | 224 | ||
| 225 | template <void func(u64, s32 len)> | 225 | template <void func(u64, u64 len)> |
| 226 | void SvcWrap() { | 226 | void SvcWrap() { |
| 227 | func(PARAM(0), (s32)(PARAM(1) & 0xFFFFFFFF)); | 227 | func(PARAM(0), PARAM(1)); |
| 228 | } | 228 | } |
| 229 | 229 | ||
| 230 | template <void func(u64, u64, u64)> | 230 | template <void func(u64, u64, u64)> |