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;  	} | 
