From 52f3884823b247288f53fce00f1f0e27ed8a87fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20Techet?= Date: Thu, 13 Jan 2022 10:36:26 +0100 Subject: [PATCH] geanypg: Update because of Scintilla 5.1.5 SCI_GETSELTEXT change The SCI_GETSELTEXT method of Scintilla changed so it returns a smaller number of bytes than before. Instead, use the sci_ wrappers which are independent of Geany version and should behave the same way regardless of Geany version. --- geanypg/src/helper_functions.c | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/geanypg/src/helper_functions.c b/geanypg/src/helper_functions.c index aa74ea067..70c7ecd49 100644 --- a/geanypg/src/helper_functions.c +++ b/geanypg/src/helper_functions.c @@ -133,24 +133,17 @@ void geanypg_load_buffer(gpgme_data_t * buffer) { /* gpgme_data_new_from_mem(buffer, text, size, 0); */ GeanyDocument * doc = document_get_current(); - char * data = NULL; - unsigned long size = 0; + char * data; if (sci_has_selection(doc->editor->sci)) { - size = scintilla_send_message(doc->editor->sci, SCI_GETSELTEXT, 0, 0) - 1; - data = (char *) malloc(size + 1); - scintilla_send_message(doc->editor->sci, SCI_GETSELTEXT, 0, (sptr_t)data); - gpgme_data_new_from_mem(buffer, data, size, 1); + data = sci_get_selection_contents(doc->editor->sci); } else { - size = scintilla_send_message(doc->editor->sci, SCI_GETLENGTH, 0, 0); - data = (char *) malloc(size + 1); - scintilla_send_message(doc->editor->sci, SCI_GETTEXT, (uptr_t)(size + 1), (sptr_t)data); - gpgme_data_new_from_mem(buffer, data, size, 1); + data = sci_get_contents(doc->editor->sci, -1); } - if (data) /* if there is no text data may still be NULL */ - free(data); + gpgme_data_new_from_mem(buffer, data, strlen(data), 1); + free(data); gpgme_data_set_encoding(*buffer, GPGME_DATA_ENCODING_BINARY); }