From: Eduardo Habkost Date: Mon, 25 May 2009 21:20:05 +0000 (-0300) Subject: Fix vga_screen_dump_blank() PPM generation X-Git-Tag: v0.10.6~13 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=41de90f32c39cb1da68f78815aac2021ae868d9b;p=thirdparty%2Fqemu.git 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 Signed-off-by: Anthony Liguori --- diff --git a/hw/vga.c b/hw/vga.c index 709d6bb9917..00a7ae5a13d 100644 --- a/hw/vga.c +++ b/hw/vga.c @@ -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);