sthen 41ed53ba17 - fix unpacking of multiple parts (from Gentoo, possibly via FreeBSD).
- recognise PNG files and set appropriate mime type (from FreeBSD).

- remove botched mkstemp() conversion which broke mpack(1);
a proper mkstemp conversion is intrusive.

- use some additional XXXX in the temporary filename.

- let this build with CLang scan-build.
2012-12-11 11:01:31 +00:00

37 lines
1.1 KiB
Plaintext

$OpenBSD: patch-decode_c,v 1.5 2012/12/11 11:01:31 sthen Exp $
--- decode.c.orig Mon Jul 21 21:47:54 2003
+++ decode.c Tue Dec 11 10:47:55 2012
@@ -28,10 +28,11 @@
#include <stdio.h>
#include <string.h>
#include <ctype.h>
+#include <stdlib.h>
+#include <md5.h>
#include "xmalloc.h"
#include "common.h"
#include "part.h"
-#include "md5.h"
extern char *os_idtodir(char *id);
extern FILE *os_newtypedfile(char *fname, char *contentType, int flags, params contentParams);
@@ -545,8 +546,8 @@ getDispositionFilename(char *disposition)
SkipWhitespace(&disposition);
if (!disposition) return 0;
- /* If we're looking at a ";", we found what we're looking for */
- if (*disposition++ == ';') break;
+ /* If we're looking at an "=", we found what we're looking for */
+ if (*disposition++ == '=') break;
}
SkipWhitespace(&disposition);
@@ -632,7 +633,7 @@ int handlePartial(struct part *inpart, char *headers,
}
/* Store number of parts in reassembly directory */
sprintf(buf, "%sCT", dir);
- partfile = os_createnewfile(buf);
+ partfile = os_resetfile(buf);
if (!partfile) {
os_perror(buf);
goto ignore;