- inst->pasteout_data = smalloc(len);
- inst->pasteout_data_len = len;
- wc_to_mb(line_codepage, 0, data, len,
- inst->pasteout_data, inst->pasteout_data_len,
- NULL, NULL);
+ inst->pasteout_data = smalloc(len*6);
+ inst->pasteout_data_len = len*6;
+ inst->pasteout_data_len = wc_to_mb(line_codepage, 0, data, len,
+ inst->pasteout_data,
+ inst->pasteout_data_len, NULL, NULL);
+ if (inst->pasteout_data_len == 0) {
+ sfree(inst->pasteout_data);
+ inst->pasteout_data = NULL;
+ } else {
+ inst->pasteout_data =
+ srealloc(inst->pasteout_data, inst->pasteout_data_len);
+ }