mirror of
https://bitbucket.org/jsuto/piler.git
synced 2024-12-24 19:10:13 +01:00
src: fix for multiple filename in a single mime part line
Signed-off-by: Janos SUTO <sj@acts.hu>
This commit is contained in:
parent
08fbbe46c7
commit
b90438bef6
@ -791,6 +791,11 @@ void extractNameFromHeaderLine(char *s, char *name, char *resultbuf){
|
||||
*
|
||||
* foo: bar; title*=UTF-8''%c2%a3%20and%20%e2%82%ac%20rates
|
||||
*
|
||||
* Odd one having two filename definitions, and having a semicolon (;) in the filename:
|
||||
*
|
||||
* filename*=utf-8''P;LAN%20Holden%204.docx;filename="P;LAN Holden 4.docx"*
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
p += strlen(name);
|
||||
@ -801,6 +806,12 @@ void extractNameFromHeaderLine(char *s, char *name, char *resultbuf){
|
||||
p = strchr(p, '=');
|
||||
if(p){
|
||||
p++;
|
||||
|
||||
// If the line has the 'name' more than once, then truncate the subsequent parts, ie.
|
||||
// utf-8''P;LAN%20Holden%204.docx;filename="P;LAN Holden 4.docx" ==> utf-8''P;LAN%20Holden%204.docx
|
||||
q = strstr(p, name);
|
||||
if(q) *q = '\0';
|
||||
|
||||
q = strrchr(p, ';');
|
||||
if(q) *q = '\0';
|
||||
q = strrchr(p, '"');
|
||||
|
Loading…
Reference in New Issue
Block a user