process_exposes (text);
}
-/* compare gtkstext string at pos1 with string at pos2 for equality
- (max. len chars) - we treat characters as single byte */
-guint gtkstext_strncmp(GtkSText *text, guint pos1, guint pos2, guint len,
- guint tlen)
-{
- guint i = 0;
- gchar ch1, ch2;
-
- for (; (i < len) && (pos1 + i < tlen) && (pos2 + i < tlen); i++) {
- ch1 = GTK_STEXT_INDEX(text, pos1 + i);
- ch2 = GTK_STEXT_INDEX(text, pos2 + i);
- if (ch1 != ch2)
- break;
- }
-
- return i;
-}
-
-/* return str length if text at start_pos matches str else return zero */
-guint gtkstext_str_strcmp(GtkSText *text, guint start_pos,
- guint text_len, gchar *str) {
- guint is_str, i, str_len;
- gchar str_ch;
-
- is_str = 0;
- if (str) {
- str_len = strlen(str);
- is_str = 1;
- for (i = 0; (i < str_len) && (start_pos + i < text_len); i++) {
- str_ch = GTK_STEXT_INDEX(text, start_pos + i);
- if (*(str + i) != str_ch) {
- break;
- }
- }
- if (i == 0 || i < str_len)
- is_str = 0;
- }
-
- return is_str ? str_len : 0;
-}
-
-/* return true if text at pos is URL */
-guint is_url_string(GtkSText *text, guint start_pos, guint text_len)
-{
- guint len;
-
- len = gtkstext_str_strcmp(text, start_pos, text_len, "ftp://");
- if (len == 6)
- return 1;
- len = gtkstext_str_strcmp(text, start_pos, text_len, "http://");
- if (len == 7)
- return 1;
- len = gtkstext_str_strcmp(text, start_pos, text_len, "https://");
- if (len == 8)
- return 1;
-
- return 0;
-}
-
/**********************************************************************/
/* Display Code */
/**********************************************************************/
if (lp.end.index == lp.start.index)
{
/* SYLPHEED: don't wrap URLs */
- if (is_url_string(text, lp.end.index,
+ if (gtkut_text_is_uri_string(text, lp.end.index,
gtk_stext_get_length(text)))
{
lp.end = saved_mark;