[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH/RFC 1/7] ppm_save: use QEMUFile
From: |
Marc-André Lureau |
Subject: |
[Qemu-devel] [PATCH/RFC 1/7] ppm_save: use QEMUFile |
Date: |
Mon, 12 Mar 2012 14:11:27 +0100 |
---
hw/vga.c | 22 ++++++++++++----------
1 files changed, 12 insertions(+), 10 deletions(-)
diff --git a/hw/vga.c b/hw/vga.c
index 5994f43..24af4a1 100644
--- a/hw/vga.c
+++ b/hw/vga.c
@@ -2364,19 +2364,20 @@ void vga_init_vbe(VGACommonState *s, MemoryRegion
*system_memory)
int ppm_save(const char *filename, struct DisplaySurface *ds)
{
- FILE *f;
+ QEMUFile *f;
uint8_t *d, *d1;
uint32_t v;
int y, x;
uint8_t r, g, b;
- int ret;
char *linebuf, *pbuf;
+ gchar *header;
+
+ f = qemu_fopen(filename, "wb");
+ g_return_val_if_fail(f != NULL, -1);
+
+ header = g_strdup_printf("P6\n%d %d\n%d\n", ds->width, ds->height, 255);
+ qemu_put_buffer(f, (uint8_t*)header, strlen(header));
- f = fopen(filename, "wb");
- if (!f)
- return -1;
- fprintf(f, "P6\n%d %d\n%d\n",
- ds->width, ds->height, 255);
linebuf = g_malloc(ds->width * 3);
d1 = ds->data;
for(y = 0; y < ds->height; y++) {
@@ -2397,11 +2398,12 @@ int ppm_save(const char *filename, struct
DisplaySurface *ds)
d += ds->pf.bytes_per_pixel;
}
d1 += ds->linesize;
- ret = fwrite(linebuf, 1, pbuf - linebuf, f);
- (void)ret;
+ qemu_put_buffer(f, (uint8_t*)linebuf, pbuf - linebuf);
}
+
g_free(linebuf);
- fclose(f);
+ g_free(header);
+ qemu_fclose(f);
return 0;
}
--
1.7.7.6
- [Qemu-devel] [PATCH/RFC 0/7] Screendump to UNIX socket & in PNG format, Marc-André Lureau, 2012/03/12
- [Qemu-devel] [PATCH/RFC 2/7] Allow a qemu_fopen_socket() to be opened for writing, Marc-André Lureau, 2012/03/12
- [Qemu-devel] [PATCH/RFC 4/7] Allow saving screendump to a UNIX socket, Marc-André Lureau, 2012/03/12
- [Qemu-devel] [PATCH/RFC 7/7] Add PNG screendump, Marc-André Lureau, 2012/03/12
- [Qemu-devel] [PATCH/RFC 1/7] ppm_save: use QEMUFile,
Marc-André Lureau <=
- [Qemu-devel] [PATCH/RFC 6/7] Isolate color conversion from PPM handling, Marc-André Lureau, 2012/03/12
- [Qemu-devel] [PATCH/RFC 3/7] Close socket when closing QEMUFile, Marc-André Lureau, 2012/03/12
- [Qemu-devel] [PATCH/RFC 5/7] configure: split PNG support from vnc_png feature, Marc-André Lureau, 2012/03/12
- Re: [Qemu-devel] [PATCH/RFC 0/7] Screendump to UNIX socket & in PNG format, Eric Blake, 2012/03/12
- Re: [Qemu-devel] [PATCH/RFC 0/7] Screendump to UNIX socket & in PNG format, Daniel P. Berrange, 2012/03/12
- Re: [Qemu-devel] [PATCH/RFC 0/7] Screendump to UNIX socket & in PNG format, Anthony Liguori, 2012/03/12