- *start_indexes = g_slist_reverse (*start_indexes);
- *end_indexes = g_slist_reverse (*end_indexes);
+ if (start != cur) {
+ gint *start_index, *end_index;
+ start_index = g_new0 (gint, 1);
+ end_index = g_new0 (gint, 1);
+ *start_index = g_utf8_pointer_to_offset (addresses, start);
+ *end_index = g_utf8_pointer_to_offset (addresses, cur);;
+ *start_indexes = g_slist_prepend (*start_indexes, start_index);
+ *end_indexes = g_slist_prepend (*end_indexes, end_index);
+ }
+
+ if (*start_indexes)
+ *start_indexes = g_slist_reverse (*start_indexes);
+ if (*end_indexes)
+ *end_indexes = g_slist_reverse (*end_indexes);