Mercurial > masqmail
changeset 302:2ffcd38ccf53
improved unused function header_fold()
author | markus schnalke <meillo@marmaro.de> |
---|---|
date | Thu, 09 Dec 2010 17:50:25 -0300 (2010-12-09) |
parents | 55c530a83d51 |
children | 3e3c280ca5b2 |
files | src/header.c |
diffstat | 1 files changed, 20 insertions(+), 22 deletions(-) [+] |
line wrap: on
line diff
--- a/src/header.c Thu Dec 09 15:42:02 2010 -0300 +++ b/src/header.c Thu Dec 09 17:50:25 2010 -0300 @@ -105,29 +105,27 @@ void header_unfold(header * hdr) { - gchar *tmp_hdr = g_malloc(strlen(hdr->header)); - gchar *p = hdr->header, *q = tmp_hdr; - gboolean flag = FALSE; + char *src = hdr->header; + char *dest = src; + char *p; + + p = strchr(src, '\n'); + if (!p || !p[1]) { + /* no folded header */ + return; + } - while (*p) { - if (*p != '\n') { - *(q++) = *p; - } else { - flag = TRUE; - } - p++; - } - *(q++) = '\n'; - - if (flag) { - gchar *new_hdr; - - g_free(hdr->header); - new_hdr = g_strdup(tmp_hdr); - g_free(tmp_hdr); - hdr->value = new_hdr + (hdr->value - hdr->header); - hdr->header = new_hdr; - } + while (*src) { + if (*src == '\n') { + /* ignore */ + src++; + } else { + /* copy */ + *(dest++) = *(src++); + } + } + *(dest++) = '\n'; + *(dest++) = '\0'; } #define MAX_HDR_LEN 72