@@ -33,6 +33,7 @@ ContentPackage::ContentPackage(KernelState* kernel_state, std::string root_name,
|
||||
auto fs = kernel_state_->file_system();
|
||||
auto device =
|
||||
std::make_unique<vfs::HostPathDevice>(device_path_, package_path, false);
|
||||
device->Initialize();
|
||||
fs->RegisterDevice(std::move(device));
|
||||
fs->RegisterSymbolicLink(root_name_ + ":", device_path_);
|
||||
}
|
||||
|
||||
@@ -177,8 +177,7 @@ X_STATUS XUserModule::GetOptHeader(uint8_t* membase, const xex2_header* header,
|
||||
break;
|
||||
default:
|
||||
// Data stored at offset to header.
|
||||
field_value = uint32_t((uint8_t*)header - membase) +
|
||||
opt_header.offset;
|
||||
field_value = uint32_t((uint8_t*)header - membase) + opt_header.offset;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -310,8 +310,8 @@ void XamContentCreateCore(PPCContext* ppc_context, KernelState* kernel_state,
|
||||
}
|
||||
|
||||
if (overlapped_ptr) {
|
||||
kernel_state->CompleteOverlappedImmediateEx(overlapped_ptr, disposition,
|
||||
result, 0);
|
||||
kernel_state->CompleteOverlappedImmediateEx(overlapped_ptr, result,
|
||||
disposition, 0);
|
||||
SHIM_SET_RETURN_32(X_ERROR_IO_PENDING);
|
||||
} else {
|
||||
SHIM_SET_RETURN_32(result);
|
||||
|
||||
@@ -182,8 +182,8 @@ SHIM_CALL XamEnumerate_shim(PPCContext* ppc_context,
|
||||
auto e = kernel_state->object_table()->LookupObject<XEnumerator>(handle);
|
||||
if (!e) {
|
||||
if (overlapped_ptr) {
|
||||
kernel_state->CompleteOverlappedImmediateEx(overlapped_ptr, 0,
|
||||
X_ERROR_INVALID_HANDLE, 0);
|
||||
kernel_state->CompleteOverlappedImmediateEx(
|
||||
overlapped_ptr, X_ERROR_INVALID_HANDLE, X_ERROR_INVALID_HANDLE, 0);
|
||||
SHIM_SET_RETURN_32(X_ERROR_IO_PENDING);
|
||||
} else {
|
||||
SHIM_SET_RETURN_32(X_ERROR_INVALID_HANDLE);
|
||||
|
||||
Reference in New Issue
Block a user