Commit 77d4db015c99ce7083fd5b33f0c650176fe8bc98

Authored by Eduardo Habkost
Committed by Anthony Liguori
1 parent aea2a33c

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.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Showing 1 changed file with 3 additions and 2 deletions
hw/vga.c
... ... @@ -2584,8 +2584,9 @@ static void vga_screen_dump_blank(VGAState *s, const char *filename)
2584 2584 {
2585 2585 FILE *f;
2586 2586 unsigned int y, x, w, h;
  2587 + unsigned char blank_sample[3] = { 0, 0, 0 };
2587 2588  
2588   - w = s->last_scr_width * sizeof(uint32_t);
  2589 + w = s->last_scr_width;
2589 2590 h = s->last_scr_height;
2590 2591  
2591 2592 f = fopen(filename, "wb");
... ... @@ -2594,7 +2595,7 @@ static void vga_screen_dump_blank(VGAState *s, const char *filename)
2594 2595 fprintf(f, "P6\n%d %d\n%d\n", w, h, 255);
2595 2596 for (y = 0; y < h; y++) {
2596 2597 for (x = 0; x < w; x++) {
2597   - fputc(0, f);
  2598 + fwrite(blank_sample, 3, 1, f);
2598 2599 }
2599 2600 }
2600 2601 fclose(f);
... ...