X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=url.c;h=d9cc4dece94380286814ff147a195103266fe6f5;hp=44463cb134c89367bc7bf892572b2d1d9b023d8f;hb=0cdfadc00f3db981c5fccbd654c4a19becf42ef7;hpb=df70e07e24add1869bcc9b7af2277d9d0c09a281 diff --git a/url.c b/url.c index 44463cb..d9cc4de 100644 --- a/url.c +++ b/url.c @@ -1,19 +1,10 @@ /* + * Copyright notice from original mutt: * Copyright (C) 2000 Thomas Roessler - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. + * + * This file is part of mutt-ng, see http://www.muttng.org/. + * It's licensed under the GNU General Public License, + * please see the file GPL in the top level source directory. */ /* @@ -30,6 +21,8 @@ #include "mime.h" +#include "lib/mem.h" + #include static struct mapping_t UrlMap[] = { @@ -179,7 +172,7 @@ int url_ciss_tostring (ciss_url_t * ciss, char *dest, size_t len, int flags) if (ciss->host) { safe_strcat (dest, len, "//"); - len -= (l = strlen (dest)); + len -= (l = safe_strlen (dest)); dest += l; if (ciss->user) { @@ -188,7 +181,7 @@ int url_ciss_tostring (ciss_url_t * ciss, char *dest, size_t len, int flags) else snprintf (dest, len, "%s@", ciss->user); - len -= (l = strlen (dest)); + len -= (l = safe_strlen (dest)); dest += l; } @@ -241,16 +234,22 @@ int url_parse_mailto (ENVELOPE * e, char **body, const char *src) if (!ascii_strcasecmp (tag, "body")) { if (body) - mutt_str_replace (body, value); + str_replace (body, value); } else { - taglen = strlen (tag); +#define SAFEPFX (option (OPTSTRICTMAILTO) ? "" : "X-Mailto-") + taglen = safe_strlen (tag) + safe_strlen (SAFEPFX); /* mutt_parse_rfc822_line makes some assumptions */ - snprintf (scratch, sizeof (scratch), "%s: %s", tag, value); + snprintf (scratch, sizeof (scratch), "%s%s: %s", SAFEPFX, tag, value); +#undef SAVEPFX scratch[taglen] = '\0'; value = &scratch[taglen + 1]; SKIPWS (value); mutt_parse_rfc822_line (e, NULL, scratch, value, 1, 0, 0, &last); + /* if $strict_mailto is set, force editing headers to let + * users have a look at what we got */ + if (!option (OPTSTRICTMAILTO)) + set_option (OPTEDITHDRS); } }