summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEduardo Habkost <ehabkost@redhat.com>2009-05-25 18:20:05 -0300
committerAnthony Liguori <aliguori@us.ibm.com>2009-06-16 17:46:59 -0500
commit41de90f32c39cb1da68f78815aac2021ae868d9b (patch)
tree9d9747a7c8b80d9a94077c56ef79e7665d323964
parent3e6b53eb32400a9ef172b34a6168ec563c9db74e (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.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/hw/vga.c b/hw/vga.c
index 709d6bb991..00a7ae5a13 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);