320 |
char *unicode_buffer_remaining = unicode_buffer; |
char *unicode_buffer_remaining = unicode_buffer; |
321 |
char *data_remaining = (char *) source; |
char *data_remaining = (char *) source; |
322 |
size_t data_size_remaining = source_size; |
size_t data_size_remaining = source_size; |
323 |
iconv(cd, &data_remaining, &data_size_remaining, &unicode_buffer_remaining, |
iconv(cd, (ICONV_CONST char **) &data_remaining, &data_size_remaining, |
324 |
&unicode_buffer_size_remaining); |
&unicode_buffer_remaining, &unicode_buffer_size_remaining); |
325 |
iconv_close(cd); |
iconv_close(cd); |
326 |
|
|
327 |
/* translate linebreaks */ |
/* translate linebreaks */ |
332 |
{ |
{ |
333 |
DEBUG_CLIPBOARD(("Sending Unicode string of %d bytes\n", |
DEBUG_CLIPBOARD(("Sending Unicode string of %d bytes\n", |
334 |
translated_data_size)); |
translated_data_size)); |
335 |
cliprdr_send_data(translated_data, translated_data_size); |
helper_cliprdr_send_response(translated_data, translated_data_size); |
336 |
xfree(translated_data); /* Not the same thing as XFree! */ |
xfree(translated_data); /* Not the same thing as XFree! */ |
337 |
} |
} |
338 |
|
|
353 |
translated_data = lf2crlf(source, &length); |
translated_data = lf2crlf(source, &length); |
354 |
if (translated_data != NULL) |
if (translated_data != NULL) |
355 |
{ |
{ |
356 |
cliprdr_send_data(translated_data, length); |
helper_cliprdr_send_response(translated_data, length); |
357 |
xfree(translated_data); /* Not the same thing as XFree! */ |
xfree(translated_data); /* Not the same thing as XFree! */ |
358 |
} |
} |
359 |
|
|
479 |
*/ |
*/ |
480 |
if (best_text_target != 0) |
if (best_text_target != 0) |
481 |
{ |
{ |
482 |
XConvertSelection(g_display, clipboard_atom, best_text_target, |
XConvertSelection(g_display, event->selection, best_text_target, |
483 |
rdesktop_clipboard_target_atom, g_wnd, event->time); |
rdesktop_clipboard_target_atom, g_wnd, event->time); |
484 |
return; |
return; |
485 |
} |
} |
773 |
iconv_close(cd); |
iconv_close(cd); |
774 |
return; |
return; |
775 |
} |
} |
776 |
iconv(cd, &data_remaining, &length_remaining, &utf8_data_remaining, |
iconv(cd, (ICONV_CONST char **) &data_remaining, &length_remaining, |
777 |
&utf8_length_remaining); |
&utf8_data_remaining, &utf8_length_remaining); |
778 |
iconv_close(cd); |
iconv_close(cd); |
779 |
free_data = True; |
free_data = True; |
780 |
data = (uint8 *) utf8_data; |
data = (uint8 *) utf8_data; |
842 |
} |
} |
843 |
|
|
844 |
/* No data available */ |
/* No data available */ |
845 |
cliprdr_send_data(NULL, 0); |
helper_cliprdr_send_empty_response(); |
846 |
} |
} |
847 |
|
|
848 |
void |
void |