summaryrefslogtreecommitdiff
path: root/converters/mpack/files/patch-ae
diff options
context:
space:
mode:
Diffstat (limited to 'converters/mpack/files/patch-ae')
-rw-r--r--converters/mpack/files/patch-ae46
1 files changed, 46 insertions, 0 deletions
diff --git a/converters/mpack/files/patch-ae b/converters/mpack/files/patch-ae
new file mode 100644
index 000000000000..7f156b4361a5
--- /dev/null
+++ b/converters/mpack/files/patch-ae
@@ -0,0 +1,46 @@
+--- unixos.c.orig Fri Feb 17 00:39:50 1995
++++ unixos.c Wed Aug 28 19:56:07 2002
+@@ -80,7 +80,7 @@
+
+ /* Create and return directory for a message-id */
+ char *os_idtodir(id)
+-char *id;
++unsigned char *id;
+ {
+ static char buf[4096];
+ char *p;
+@@ -89,7 +89,11 @@
+ strcpy(buf, getenv("TMPDIR"));
+ }
+ else {
++#ifdef __FreeBSD__
++ strcpy(buf, "/var/tmp");
++#else
+ strcpy(buf, "/usr/tmp");
++#endif
+ }
+ strcat(buf, "/m-prts-");
+ p = getenv("USER");
+@@ -144,7 +148,7 @@
+ int flags;
+ params contentParams;
+ {
+- char *p;
++ unsigned char *p;
+ static int filesuffix=0;
+ char buf[128], *descfname=0;
+ FILE *outfile = 0;
+@@ -160,6 +164,13 @@
+ /* Get rid of leading ~ or ~/ */
+ while (*fname == '~' || *fname == '/') fname++;
+
++ for (p=fname; *p; p += 3) {
++ if (!strncmp(p, "../", 3)) {
++ p[0] = p[1] = 'X';
++ } else
++ break;
++ }
++
+ /* Clean out bad characters, create directories along path */
+ for (p=fname; *p; p++) {
+ if (*p == '/') {