fread_targphys(): Do not cut off the tail.
loader.c:fread_targphys() read file by 4096 byte chunks and store them to memory. But did not store the last chunk if its size was not 4096. Signed-off-by: Takashi YOSHII <takasi-y@ops.dti.ne.jp> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6792 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
e4f5100c33
commit
7d515c1d73
3
loader.c
3
loader.c
@ -90,11 +90,12 @@ int fread_targphys(target_phys_addr_t dst_addr, size_t nbytes, FILE *f)
|
||||
while (nbytes) {
|
||||
want = nbytes > sizeof(buf) ? sizeof(buf) : nbytes;
|
||||
did = fread(buf, 1, want, f);
|
||||
if (did != want) break;
|
||||
|
||||
cpu_physical_memory_write_rom(dst_addr, buf, did);
|
||||
dst_addr += did;
|
||||
nbytes -= did;
|
||||
if (did != want)
|
||||
break;
|
||||
}
|
||||
return dst_addr - dst_begin;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user