Turned some errors into warnings, as they occur in KQ5CD

svn-id: r40804
This commit is contained in:
Filippos Karapetis 2009-05-23 10:22:27 +00:00
parent 3811df7aca
commit 2590511c7d
2 changed files with 8 additions and 4 deletions

View file

@ -200,7 +200,8 @@ reg_t kMemory(EngineState *s, int funct_nr, int argc, reg_t *argv) {
byte *ref = kernel_dereference_bulk_pointer(s, argv[1], 2);
if (!ref) {
error("Attempt to poke invalid memory at %04x:%04x!\n", PRINT_REG(argv[1]));
// This occurs in KQ5CD when interacting with certain objects
warning("Attempt to poke invalid memory at %04x:%04x!\n", PRINT_REG(argv[1]));
return s->r_acc;
}
if (s->seg_manager->_heap[argv[1].segment]->getType() == MEM_OBJ_LOCALS)
@ -213,7 +214,8 @@ reg_t kMemory(EngineState *s, int funct_nr, int argc, reg_t *argv) {
byte *ref = kernel_dereference_bulk_pointer(s, argv[1], 2);
if (!ref) {
error("Attempt to poke invalid memory at %04x:%04x!\n", PRINT_REG(argv[1]));
// This occurs in KQ5CD when interacting with certain objects
warning("Attempt to poke invalid memory at %04x:%04x!\n", PRINT_REG(argv[1]));
return s->r_acc;
}

View file

@ -982,13 +982,15 @@ byte *SystemStrings::dereference(reg_t pointer, int *size) {
if (pointer.offset < SYS_STRINGS_MAX && strings[pointer.offset].name)
return (byte *)(strings[pointer.offset].value);
error("Attempt to dereference invalid pointer %04x:%04x", PRINT_REG(pointer));
// This occurs in KQ5CD when interacting with certain objects
warning("Attempt to dereference invalid pointer %04x:%04x", PRINT_REG(pointer));
return NULL;
}
byte *SegManager::dereference(reg_t pointer, int *size) {
if (!pointer.segment || (pointer.segment >= _heap.size()) || !_heap[pointer.segment]) {
error("Attempt to dereference invalid pointer %04x:%04x", PRINT_REG(pointer));
// This occurs in KQ5CD when interacting with certain objects
warning("Attempt to dereference invalid pointer %04x:%04x", PRINT_REG(pointer));
return NULL; /* Invalid */
}