diff options
author | Eduardo Habkost <ehabkost@redhat.com> | 2009-05-25 18:20:05 -0300 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2009-06-16 17:46:59 -0500 |
commit | 41de90f32c39cb1da68f78815aac2021ae868d9b (patch) | |
tree | 9d9747a7c8b80d9a94077c56ef79e7665d323964 | |
parent | 3e6b53eb32400a9ef172b34a6168ec563c9db74e (diff) |
Fix vga_screen_dump_blank() PPM generation
vga_screen_dump_blank() was not generating a valid PPM file: the width of the
image made no sense (why it was multiplied by sizeof(uint32_t)?), and there was
only one sample per pixel, instead of three.
(cherry picked from commit 77d4db015c99ce7083fd5b33f0c650176fe8bc98)
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-rw-r--r-- | hw/vga.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -2606,8 +2606,9 @@ static void vga_screen_dump_blank(VGAState *s, const char *filename) { FILE *f; unsigned int y, x, w, h; + unsigned char blank_sample[3] = { 0, 0, 0 }; - w = s->last_scr_width * sizeof(uint32_t); + w = s->last_scr_width; h = s->last_scr_height; f = fopen(filename, "wb"); @@ -2616,7 +2617,7 @@ static void vga_screen_dump_blank(VGAState *s, const char *filename) fprintf(f, "P6\n%d %d\n%d\n", w, h, 255); for (y = 0; y < h; y++) { for (x = 0; x < w; x++) { - fputc(0, f); + fwrite(blank_sample, 3, 1, f); } } fclose(f); |