[Spice-devel] [PATCH v2 spice 02/11] server/red_worker: dump_bitmap: add surface_id to the bitmap file name
Yonit Halperin
yhalperi at redhat.com
Tue Apr 17 06:14:01 PDT 2012
On 04/17/2012 01:12 PM, Yonit Halperin wrote:
> Also replaced sprintf with snprintf
> ---
> server/red_worker.c | 14 ++++++++------
> 1 files changed, 8 insertions(+), 6 deletions(-)
>
> diff --git a/server/red_worker.c b/server/red_worker.c
> index 5350195..99a8948 100644
> --- a/server/red_worker.c
> +++ b/server/red_worker.c
> @@ -1014,7 +1014,7 @@ static void cursor_channel_client_release_item_after_push(CursorChannelClient *c
> static void red_wait_pipe_item_sent(RedChannelClient *rcc, PipeItem *item);
>
> #ifdef DUMP_BITMAP
> -static void dump_bitmap(RedWorker *worker, SpiceBitmap *bitmap, uint32_t group_id);
> +static void dump_bitmap(RedWorker *worker, SpiceBitmap *bitmap, uint32_t group_id, int surface_id);
> #endif
>
> /*
> @@ -6368,7 +6368,9 @@ static FillBitsType fill_bits(DisplayChannelClient *dcc, SpiceMarshaller *m,
> case SPICE_IMAGE_TYPE_BITMAP: {
> SpiceBitmap *bitmap =&image.u.bitmap;
> #ifdef DUMP_BITMAP
> - dump_bitmap(display_channel->common.worker,&simage->u.bitmap, drawable->group_id);
> + dump_bitmap(display_channel->common.worker,&simage->u.bitmap,
> + drawable->group_id,
> + drawable->surface_id);
> #endif
> /* Images must be added to the cache only after they are compressed
> in order to prevent starvation in the client between pixmap_cache and
> @@ -11235,12 +11237,12 @@ static void dump_line(FILE *f, uint8_t* line, uint16_t n_pixel_bits, int width,
> }
>
> #define RAM_PATH "/tmp/tmpfs"
> -
> -static void dump_bitmap(RedWorker *worker, SpiceBitmap *bitmap, uint32_t group_id)
> +#define DUMP_BITMAP_FILE_NAME_LEN 200
> +static void dump_bitmap(RedWorker *worker, SpiceBitmap *bitmap, uint32_t group_id, int surface_id)
> {
> static uint32_t file_id = 0;
> + static char file_str[DUMP_BITMAP_FILE_NAME_LEN];
>
> - char file_str[200];
> int rgb = TRUE;
> uint16_t n_pixel_bits;
> SpicePalette *plt = NULL;
> @@ -11303,7 +11305,7 @@ static void dump_bitmap(RedWorker *worker, SpiceBitmap *bitmap, uint32_t group_i
> file_size = bitmap_data_offset + (bitmap->y * row_size);
>
> id = ++file_id;
> - sprintf(file_str, "%s/%u.bmp", RAM_PATH, id);
> + sprintf(file_str, DUMP_BITMAP_FILE_NAME_LEN, "%s/%u-%d.bmp", RAM_PATH, id, surface_id);
oops, forgot to s/sprintf/snprintf (and to recompile with DUMP_BITMAP...)
Yonit.
>
> f = fopen(file_str, "wb");
> if (!f) {
More information about the Spice-devel
mailing list