diff options
Diffstat (limited to '')
-rw-r--r-- | html.c | 19 |
1 files changed, 2 insertions, 17 deletions
diff --git a/html.c b/html.c index 85b6f6b..e404434 100644 --- a/html.c +++ b/html.c @@ -14,7 +14,6 @@ * along with this program. If not, see <https://www.gnu.org/licenses/>. */ -#include <assert.h> #include <err.h> #include <stdio.h> #include <stdlib.h> @@ -50,21 +49,7 @@ int htmlEnvelope(FILE *file, const struct Envelope *envelope) { { "messageID", envelope->messageID }, {0}, }; - - size_t cap = sizeof(Mailto); - for (struct Variable *var = mailtoVars; var->value; ++var) { - cap += ESCAPE_URL_CAP(strlen(var->value)); - } - char *mailto = malloc(cap); - if (!mailto) err(EX_OSERR, "malloc"); - - FILE *url = fmemopen(mailto, cap, "w"); - if (!url) err(EX_OSERR, "fmemopen"); - - int error = 0 - || templateRender(url, Mailto, mailtoVars, escapeURL) - || fclose(url); - assert(!error); + char *mailto = templateURL(Mailto, mailtoVars); const char *from = envelope->from.name; if (!from) from = envelope->from.mailbox; @@ -84,7 +69,7 @@ int htmlEnvelope(FILE *file, const struct Envelope *envelope) { { "date", date }, {0}, }; - error = templateRender(file, Summary, summaryVars, escapeXML); + int error = templateRender(file, Summary, summaryVars, escapeXML); free(mailto); if (error) return error; |