From bc3add50886602f1cc1ea248305d4cc49c3619c8 Mon Sep 17 00:00:00 2001 From: Patrick McDermott Date: Sat, 30 Sep 2017 19:40:20 -0400 Subject: mq_html_container(): New function --- diff --git a/src/html.c b/src/html.c index 0e3ee36..914a051 100644 --- a/src/html.c +++ b/src/html.c @@ -27,6 +27,47 @@ #include "html.h" gchar * +mq_html_container(const gchar *element, ...) +{ + gsize len; + va_list ap; + gchar *child; + gchar *container; + gchar *ptr; + + /* Calculate length. */ + len = strlen("<"); + len += strlen(element); + len += strlen(">\n"); + va_start(ap, element); + while ((child = va_arg(ap, gchar *))) { + len += strlen(child); + } + va_end(ap); + len += strlen("\n"); + ++len; /* NUL byte */ + + /* Build string. */ + container = g_new(gchar, len); + ptr = g_stpcpy(container, "<"); + ptr = g_stpcpy(ptr, element); + ptr = g_stpcpy(ptr, ">\n"); + va_start(ap, element); + while ((child = va_arg(ap, gchar *))) { + ptr = g_stpcpy(ptr, child); + g_free(child); + } + va_end(ap); + ptr = g_stpcpy(ptr, "\n"); /* g_stpcpy() adds the NUL. */ + + return container; +} + +gchar * mq_html_notebook(gboolean vertical, const gchar *name, ...) { gsize name_len; diff --git a/src/html.h b/src/html.h index f80f897..db738e9 100644 --- a/src/html.h +++ b/src/html.h @@ -25,6 +25,9 @@ #include gchar * +mq_html_container(const gchar *element, ...); + +gchar * mq_html_notebook(gboolean vertical, const gchar *name, ...); gchar * -- cgit v0.9.1