From 5e4efa97e3aebb80e3fc2e560e19e5e9577c05fa Mon Sep 17 00:00:00 2001 From: Patrick McDermott Date: Thu, 26 Oct 2017 17:32:02 -0400 Subject: mq_html_fieldset(): New function --- (limited to 'src') diff --git a/src/html.c b/src/html.c index 9417db9..14d6661 100644 --- a/src/html.c +++ b/src/html.c @@ -536,6 +536,46 @@ mq_html_form(const gchar *submit_label, const gchar *reset_label, ...) } gchar * +mq_html_fieldset(gchar *first_child, ...) +{ + gsize len; + va_list ap; + gchar *child; + gchar *fieldset; + gchar *ptr; + + /* Calculate length. */ + len = strlen("
\n"); + len += strlen("\n"); + len += strlen(first_child); + va_start(ap, first_child); + while ((child = va_arg(ap, gchar *))) { + len += strlen(child); + } + va_end(ap); + len += strlen("
\n"); + len += strlen("
\n"); + ++len; /* NUL byte */ + + /* Build string. */ + fieldset = g_new(gchar, len); + ptr = g_stpcpy(fieldset, "
\n"); + ptr = g_stpcpy(ptr, "\n"); + ptr = g_stpcpy(ptr, first_child); + g_free(first_child); + va_start(ap, first_child); + while ((child = va_arg(ap, gchar *))) { + ptr = g_stpcpy(ptr, child); + g_free(child); + } + va_end(ap); + ptr = g_stpcpy(ptr, "
\n"); + ptr = g_stpcpy(ptr, "
\n"); /* g_stpcpy() adds the NUL. */ + + return fieldset; +} + +gchar * mq_html_input_text(const gchar *name, const gchar *label, const gchar *value) { return g_strdup_printf("