Branch: refs/heads/master Author: Colomban Wendling ban@herbesfolles.org Committer: Colomban Wendling ban@herbesfolles.org Date: Sat, 20 Feb 2016 21:52:48 UTC Commit: f5871f7961b9de6b93c76e49a5c36040fd0a2796 https://github.com/geany/geany-plugins/commit/f5871f7961b9de6b93c76e49a5c360...
Log Message: ----------- spellcheck: Drop use of deprecated sci_get_text_range()
Naive replacement leads to allocating the buffer on each call, but it should not be a concern as the previous commit dropped more useless allocations yet nobody complained before.
Modified Paths: -------------- spellcheck/src/speller.c
Modified: spellcheck/src/speller.c 16 lines changed, 6 insertions(+), 10 deletions(-) =================================================================== @@ -206,7 +206,6 @@ gint sc_speller_process_line(GeanyDocument *doc, gint line_number) gint suggestions_found = 0; gint wordchars_len; gchar *wordchars; - GString *str;
g_return_val_if_fail(sc_speller_dict != NULL, 0); g_return_val_if_fail(doc != NULL, 0); @@ -223,27 +222,25 @@ gint sc_speller_process_line(GeanyDocument *doc, gint line_number) scintilla_send_message(doc->editor->sci, SCI_SETWORDCHARS, 0, (sptr_t)wordchars); }
- str = g_string_sized_new(256); - pos_start = sci_get_position_from_line(doc->editor->sci, line_number); pos_end = sci_get_position_from_line(doc->editor->sci, line_number + 1);
while (pos_start < pos_end) { + gchar *word; + wstart = scintilla_send_message(doc->editor->sci, SCI_WORDSTARTPOSITION, pos_start, TRUE); wend = scintilla_send_message(doc->editor->sci, SCI_WORDENDPOSITION, wstart, FALSE); if (wstart == wend) break;
- /* ensure the string has enough allocated memory */ - if (str->len < (guint)(wend - wstart)) - g_string_set_size(str, wend - wstart); - - sci_get_text_range(doc->editor->sci, wstart, wend, str->str); + word = sci_get_contents_range(doc->editor->sci, wstart, wend);
- suggestions_found += sc_speller_check_word(doc, line_number, str->str, wstart, wend); + suggestions_found += sc_speller_check_word(doc, line_number, word, wstart, wend);
pos_start = wend + 1; + + g_free(word); }
/* reset wordchars for the current document */ @@ -251,7 +248,6 @@ gint sc_speller_process_line(GeanyDocument *doc, gint line_number) scintilla_send_message(doc->editor->sci, SCI_SETWORDCHARS, 0, (sptr_t)wordchars);
g_free(wordchars); - g_string_free(str, TRUE); return suggestions_found; }
-------------- This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).