On 10/06/2011 06:21 PM, Juan Quintela wrote:
+
+int qemu_get_buffer(QEMUFile *f, uint8_t *buf, int size)
+{
+    int pending = size;
+    int done = 0;
+
+    while (pending>  0) {
+        int res;
+
+        res = qemu_peek_buffer(f, buf, pending, 0);
+        if (res == 0) {
+            return 0;
          }
-        memcpy(buf, f->buf + f->buf_index, l);
-        f->buf_index += l;
-        buf += l;
-        size -= l;
+        qemu_file_skip(f, res);
+        buf += res;
+        pending -= res;
+        done += res;
      }
-    return size1 - size;
+    return done;
  }

This changes semantics for reads above 32KB. It should be in the commit message, or preferably v1 could be committed instead. :)

Paolo

Reply via email to