|
|
@ -95,13 +95,13 @@ public: |
|
|
T* Get(Handle handle) { |
|
|
T* Get(Handle handle) { |
|
|
if (handle < HANDLE_OFFSET || handle >= HANDLE_OFFSET + MAX_COUNT || !occupied[handle - HANDLE_OFFSET]) { |
|
|
if (handle < HANDLE_OFFSET || handle >= HANDLE_OFFSET + MAX_COUNT || !occupied[handle - HANDLE_OFFSET]) { |
|
|
if (handle != 0) { |
|
|
if (handle != 0) { |
|
|
LOG_ERROR(Kernel, "Bad object handle %08x", handle, handle); |
|
|
|
|
|
|
|
|
LOG_ERROR(Kernel, "Bad object handle %08x", handle); |
|
|
} |
|
|
} |
|
|
return nullptr; |
|
|
return nullptr; |
|
|
} else { |
|
|
} else { |
|
|
Object* t = pool[handle - HANDLE_OFFSET]; |
|
|
Object* t = pool[handle - HANDLE_OFFSET]; |
|
|
if (t->GetHandleType() != T::GetStaticHandleType()) { |
|
|
if (t->GetHandleType() != T::GetStaticHandleType()) { |
|
|
LOG_ERROR(Kernel, "Wrong object type for %08x", handle, handle); |
|
|
|
|
|
|
|
|
LOG_ERROR(Kernel, "Wrong object type for %08x", handle); |
|
|
return nullptr; |
|
|
return nullptr; |
|
|
} |
|
|
} |
|
|
return static_cast<T*>(t); |
|
|
return static_cast<T*>(t); |
|
|
@ -134,7 +134,7 @@ public: |
|
|
bool GetIDType(Handle handle, HandleType* type) const { |
|
|
bool GetIDType(Handle handle, HandleType* type) const { |
|
|
if ((handle < HANDLE_OFFSET) || (handle >= HANDLE_OFFSET + MAX_COUNT) || |
|
|
if ((handle < HANDLE_OFFSET) || (handle >= HANDLE_OFFSET + MAX_COUNT) || |
|
|
!occupied[handle - HANDLE_OFFSET]) { |
|
|
!occupied[handle - HANDLE_OFFSET]) { |
|
|
LOG_ERROR(Kernel, "Bad object handle %08X", handle, handle); |
|
|
|
|
|
|
|
|
LOG_ERROR(Kernel, "Bad object handle %08X", handle); |
|
|
return false; |
|
|
return false; |
|
|
} |
|
|
} |
|
|
Object* t = pool[handle - HANDLE_OFFSET]; |
|
|
Object* t = pool[handle - HANDLE_OFFSET]; |
|
|
|