char *
_elm_util_text_to_mkup(const char *text)
{
- char *str = NULL;
- int str_len = 0, str_alloc = 0;
- int ch, pos = 0, pos2 = 0;
-
- if (!text) return NULL;
- for (;;)
- {
- pos = pos2;
- pos2 = evas_string_char_next_get((char *)(text), pos2, &ch);
- if ((ch <= 0) || (pos2 <= 0)) break;
- if (ch == '\n')
- str = _str_append(str, "<br/>", &str_len, &str_alloc);
- else if (ch == '\t')
- str = _str_append(str, "<tab/>", &str_len, &str_alloc);
- else if (ch == '<')
- str = _str_append(str, "<", &str_len, &str_alloc);
- else if (ch == '>')
- str = _str_append(str, ">", &str_len, &str_alloc);
- else if (ch == '&')
- str = _str_append(str, "&", &str_len, &str_alloc);
- else if (ch == 0x2029) /* PS */
- str = _str_append(str, "<ps/>", &str_len, &str_alloc);
- else
- {
- char tstr[16];
-
- _str_ncpy(tstr, text + pos, pos2 - pos);
- tstr[pos2 - pos] = 0;
- str = _str_append(str, tstr, &str_len, &str_alloc);
- }
- }
- return str;
+ return evas_textblock_text_utf8_to_markup(NULL, text);
}