diff options
-rw-r--r-- | engines/dreamweb/runtime.h | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/engines/dreamweb/runtime.h b/engines/dreamweb/runtime.h index 2951ad85d7..a97ea2cf3d 100644 --- a/engines/dreamweb/runtime.h +++ b/engines/dreamweb/runtime.h @@ -464,12 +464,9 @@ public: inline void _movsb(uint size, bool clear_cx = false) { assert(size != 0xffff); - uint8 *dst = es.ptr(di, size); - uint8 *src = ds.ptr(si, size); - assert(src < dst || src >= dst + size); - memcpy(dst, src, size); - di += size; - si += size; + //fixme: add overlap and segment boundary check and rewrite + while(size--) + _movsb(); if (clear_cx) cx = 0; } |