diff options
-rw-r--r-- | doc/manual.xml.head | 3 | ||||
-rw-r--r-- | headers.c | 19 |
2 files changed, 16 insertions, 6 deletions
diff --git a/doc/manual.xml.head b/doc/manual.xml.head index 0c227c7c..78bc19a4 100644 --- a/doc/manual.xml.head +++ b/doc/manual.xml.head @@ -1126,7 +1126,8 @@ You can also attach files to your message by specifying <literal>Attach:</literal> <emphasis>filename</emphasis> [ <emphasis>description</emphasis> ] where <emphasis>filename</emphasis> is the file to attach and <emphasis>description</emphasis> is an -optional string to use as the description of the attached file. +optional string to use as the description of the attached file. Spaces +in filenames have to be escaped using backslash (<quote>\</quote>). </para> </sect3> @@ -148,18 +148,27 @@ void mutt_edit_headers (const char *editor, BODY *body; BODY *parts; char *q; + int l = 0; p = cur->data + 7; SKIPWS (p); if (*p) { - if ((q = strpbrk (p, " \t"))) + for (q = p; *q && *q != ' ' && *q != '\t'; q++) { - mutt_substrcpy (path, p, q, sizeof (path)); - SKIPWS (q); + if (*q == '\\') + { + if (!*(q+1)) + break; + q++; + } + if (l < sizeof (path) - 1) + path[l++] = *q; } - else - strfcpy (path, p, sizeof (path)); + *q++ = 0; + SKIPWS (q); + path[l] = 0; + mutt_expand_path (path, sizeof (path)); if ((body = mutt_make_file_attach (path))) { |