diff options
-rw-r--r-- | engines/sci/engine/kfile.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/engines/sci/engine/kfile.cpp b/engines/sci/engine/kfile.cpp index a9bdac103b..5a38e16dff 100644 --- a/engines/sci/engine/kfile.cpp +++ b/engines/sci/engine/kfile.cpp @@ -853,9 +853,12 @@ reg_t kFileIOWriteString(EngineState *s, int argc, reg_t *argv) { debugC(2, kDebugLevelFile, "kFileIO(writeString): %d", handle); FileHandle *f = getFileFromHandle(s, handle); - if (f) + + if (f) { f->_out->write(str.c_str(), str.size()); return NULL_REG; + } + return make_reg(0, 6); // DOS - invalid handle } @@ -866,8 +869,10 @@ reg_t kFileIOSeek(EngineState *s, int argc, reg_t *argv) { debugC(2, kDebugLevelFile, "kFileIO(seek): %d, %d, %d", handle, offset, whence); FileHandle *f = getFileFromHandle(s, handle); + if (f) s->r_acc = make_reg(0, f->_in->seek(offset, whence)); + return SIGNAL_REG; } |