summaryrefslogtreecommitdiffstats
path: root/src/utils/html.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils/html.c')
-rw-r--r--src/utils/html.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/utils/html.c b/src/utils/html.c
index 47b2d7a..5716c07 100644
--- a/src/utils/html.c
+++ b/src/utils/html.c
@@ -340,7 +340,7 @@ mq_html_list_v(const gchar *type, gchar **children)
}
gchar *
-mq_html_container(const gchar *element, ...)
+mq_html_container(const gchar *element, const gchar *classes, ...)
{
gsize len;
va_list ap;
@@ -351,8 +351,13 @@ mq_html_container(const gchar *element, ...)
/* Calculate length. */
len = strlen("<");
len += strlen(element);
+ if (classes && classes[0]) {
+ len += strlen(" class=\"");
+ len += strlen(classes);
+ len += strlen("\"");
+ }
len += strlen(">\n");
- va_start(ap, element);
+ va_start(ap, classes);
while ((child = va_arg(ap, gchar *))) {
len += strlen(child);
}
@@ -366,8 +371,13 @@ mq_html_container(const gchar *element, ...)
container = g_new(gchar, len);
ptr = g_stpcpy(container, "<");
ptr = g_stpcpy(ptr, element);
+ if (classes && classes[0]) {
+ ptr = g_stpcpy(ptr, " class=\"");
+ ptr = g_stpcpy(ptr, classes);
+ ptr = g_stpcpy(ptr, "\"");
+ }
ptr = g_stpcpy(ptr, ">\n");
- va_start(ap, element);
+ va_start(ap, classes);
while ((child = va_arg(ap, gchar *))) {
ptr = g_stpcpy(ptr, child);
g_free(child);