diff --git a/uppsrc/Core/Stream.cpp b/uppsrc/Core/Stream.cpp index 58477c532..4cc1bf058 100644 --- a/uppsrc/Core/Stream.cpp +++ b/uppsrc/Core/Stream.cpp @@ -1402,11 +1402,11 @@ int64 CopyStream(Stream& dest, Stream& src, int64 count, Gate prog int64 done = 0; int64 total = count; while(count > 0 && (loaded = src.Get(~temp, (int)min(count, block))) > 0) { + count -= loaded; + done += loaded; if(progress(done, total)) return -1; dest.Put(~temp, loaded); - count -= loaded; - done += loaded; } return done; }