コード例 #1
0
int main(int argc, char **argv)
{
    Eina_Strbuf *buf;

    eina_init();

    buf = eina_strbuf_new();

    eina_strbuf_append_length(buf, "buffe", 5);
    eina_strbuf_append_char(buf, 'r');
    printf("%s\n", eina_strbuf_string_get(buf));

    eina_strbuf_insert_escaped(buf, "my ", 0);
    printf("%s\n", eina_strbuf_string_get(buf));
    eina_strbuf_reset(buf);

    eina_strbuf_append_escaped(buf, "my buffer");
    printf("%s\n", eina_strbuf_string_get(buf));
    eina_strbuf_reset(buf);

    eina_strbuf_append_printf(buf, "%s%c", "buffe", 'r');
    eina_strbuf_insert_printf(buf, " %s: %d", 6, "length", eina_strbuf_length_get(buf));
    printf("%s\n", eina_strbuf_string_get(buf));

    eina_strbuf_remove(buf, 0, 7);
    printf("%s\n", eina_strbuf_string_get(buf));

    eina_strbuf_replace_all(buf, "length", "size");
    printf("%s\n", eina_strbuf_string_get(buf));

    eina_strbuf_free(buf);
    eina_shutdown();

    return 0;
}
コード例 #2
0
Eina_Strbuf *
url_normalize_str(const char *str)
{
  Eina_Strbuf *buf;
  buf = eina_strbuf_new();
  eina_strbuf_append(buf, str);
  eina_strbuf_replace_all(buf, " ", "%20");
  return buf;
}
コード例 #3
0
char *
textblock_escape_string(const char *text)
{
    if (!text)
        return NULL;

    Eina_Strbuf *buf = eina_strbuf_new();
    eina_strbuf_append(buf, text);

    eina_strbuf_replace_all(buf, "\n", "<br>");
    eina_strbuf_replace_all(buf, "\t", "<\t>");
    eina_strbuf_replace_all(buf, "<", "&lt;");
    eina_strbuf_replace_all(buf, ">", "&gt;");
    eina_strbuf_replace_all(buf, "&", "&amp;");

    char *res = strdup(eina_strbuf_string_get(buf));
    eina_strbuf_free(buf);

    return res;
}