diff options
author | Sébastien Wilmet <swilmet@gnome.org> | 2015-08-16 19:25:35 +0200 |
---|---|---|
committer | Sébastien Wilmet <swilmet@gnome.org> | 2015-08-16 19:25:35 +0200 |
commit | 6cb189458cda2d0564038c009430fdde21f49fb4 (patch) | |
tree | de7508f14b3bdcd46b39ae3ffa4638c11ebc2d51 /gtksourceview | |
parent | f5fa1340e69973f04080d919c5e2c7e862bb7b44 (diff) | |
download | gtksourceview-6cb189458cda2d0564038c009430fdde21f49fb4.tar.gz |
view: allow NULL out params for get_leading_trailing()
Diffstat (limited to 'gtksourceview')
-rw-r--r-- | gtksourceview/gtksourceview.c | 69 |
1 files changed, 35 insertions, 34 deletions
diff --git a/gtksourceview/gtksourceview.c b/gtksourceview/gtksourceview.c index ba410437..184ada59 100644 --- a/gtksourceview/gtksourceview.c +++ b/gtksourceview/gtksourceview.c @@ -2470,47 +2470,50 @@ get_leading_trailing (const GtkTextIter *iter, GtkTextIter *leading, GtkTextIter *trailing) { - g_assert (leading != NULL); - g_assert (trailing != NULL); - - /* Find end of leading */ - *leading = *iter; - gtk_text_iter_set_line_offset (leading, 0); - - while (!gtk_text_iter_is_end (leading)) + /* Find end of leading whitespaces */ + if (leading != NULL) { - gunichar ch = gtk_text_iter_get_char (leading); + *leading = *iter; + gtk_text_iter_set_line_offset (leading, 0); - if (!g_unichar_isspace (ch)) + while (!gtk_text_iter_is_end (leading)) { - break; - } + gunichar ch = gtk_text_iter_get_char (leading); - gtk_text_iter_forward_char (leading); - } + if (!g_unichar_isspace (ch)) + { + break; + } - /* Find start of trailing */ - *trailing = *iter; - if (!gtk_text_iter_ends_line (trailing)) - { - gtk_text_iter_forward_to_line_end (trailing); + gtk_text_iter_forward_char (leading); + } } - while (!gtk_text_iter_starts_line (trailing)) + /* Find start of trailing whitespaces */ + if (trailing != NULL) { - GtkTextIter prev; - gunichar ch; - - prev = *trailing; - gtk_text_iter_backward_char (&prev); - - ch = gtk_text_iter_get_char (&prev); - if (!g_unichar_isspace (ch)) + *trailing = *iter; + if (!gtk_text_iter_ends_line (trailing)) { - break; + gtk_text_iter_forward_to_line_end (trailing); } - *trailing = prev; + while (!gtk_text_iter_starts_line (trailing)) + { + GtkTextIter prev; + gunichar ch; + + prev = *trailing; + gtk_text_iter_backward_char (&prev); + + ch = gtk_text_iter_get_char (&prev); + if (!g_unichar_isspace (ch)) + { + break; + } + + *trailing = prev; + } } } @@ -4069,7 +4072,6 @@ do_smart_backspace (GtkSourceView *view) GtkTextIter insert; GtkTextIter end; GtkTextIter leading; - GtkTextIter trailing; guint visual_column; gint indent_width; @@ -4082,7 +4084,7 @@ do_smart_backspace (GtkSourceView *view) } /* If the line isn't empty up to our cursor, ignore. */ - get_leading_trailing (&insert, &leading, &trailing); + get_leading_trailing (&insert, &leading, NULL); if (gtk_text_iter_compare (&leading, &insert) < 0) { return FALSE; @@ -4154,7 +4156,6 @@ do_ctrl_backspace (GtkSourceView *view) GtkTextIter insert; GtkTextIter end; GtkTextIter leading; - GtkTextIter trailing; gboolean default_editable; buffer = GTK_TEXT_BUFFER (view->priv->source_buffer); @@ -4180,7 +4181,7 @@ do_ctrl_backspace (GtkSourceView *view) /* If only leading whitespaces are on the left of the cursor, delete up * to the zero position. */ - get_leading_trailing (&insert, &leading, &trailing); + get_leading_trailing (&insert, &leading, NULL); if (gtk_text_iter_compare (&insert, &leading) <= 0) { gtk_text_iter_set_line_offset (&insert, 0); |