if (!h->current_metadata->valid)
return SANE_STATUS_UNSUPPORTED;
- params->format = h->current_metadata->format;
- params->last_frame = h->current_metadata->is_last;
- params->bytes_per_line = h->current_metadata->bytes_per_line;
- params->pixels_per_line = h->current_metadata->pixels_per_line;
- params->lines = h->current_metadata->lines;
- params->depth = h->current_metadata->depth;
+ metadata mdata;
+ memcpy(&mdata, h->current_metadata, sizeof(metadata));
+
+ params->format = mdata.format;
+ params->last_frame = mdata.is_last;
+ params->bytes_per_line = mdata.bytes_per_line;
+ params->pixels_per_line = mdata.pixels_per_line;
+ params->lines = mdata.lines;
+ params->depth = mdata.depth;
h->read_info.read_size = 0;
h->read_info.readed_bytes_per_line = 0;
h->read_info.readed_lines = 0;