summaryrefslogtreecommitdiff
path: root/source/fitz/tempfile.c
diff options
context:
space:
mode:
authorTor Andersson <tor.andersson@artifex.com>2017-04-24 16:17:15 +0200
committerTor Andersson <tor.andersson@artifex.com>2017-04-27 15:12:03 +0200
commit722ff826ea46ef49f57b927435d320c67ae37037 (patch)
treec0866a123f3ca3bad18deef6a847ca75d06e1e55 /source/fitz/tempfile.c
parent9534243f6849d1938195c1f27adaa5745056f138 (diff)
downloadmupdf-722ff826ea46ef49f57b927435d320c67ae37037.tar.xz
Ensure we can compile as -pedantic -std=c99.
Diffstat (limited to 'source/fitz/tempfile.c')
-rw-r--r--source/fitz/tempfile.c54
1 files changed, 6 insertions, 48 deletions
diff --git a/source/fitz/tempfile.c b/source/fitz/tempfile.c
index 7c2bb1ff..8465d61e 100644
--- a/source/fitz/tempfile.c
+++ b/source/fitz/tempfile.c
@@ -7,54 +7,12 @@
* if required.
*/
-#include <string.h>
-#include <stdlib.h>
-#include <stdio.h> /* for tempnam */
+#include <stdio.h>
-/* For now, put temporary files with the hint. */
-#define USE_HINT_FOR_DIR
-
-#if defined(_WIN32) || defined(_WIN64)
-#define DIRSEP '\\'
-#else
-#define DIRSEP '/'
-#endif
-
-char *fz_tempfilename(fz_context *ctx, const char *base, const char *hint)
+char *fz_tempfilename(fz_context *ctx, const char *base, const char *dir)
{
- char *tmp;
- char *ret;
-
-#ifdef USE_HINT_FOR_DIR
- char *hintpath;
- size_t hintlen;
-
- hintlen = strlen(hint);
- hintpath = fz_malloc(ctx, 1 + hintlen);
- if (hint == NULL)
- fz_throw(ctx, FZ_ERROR_GENERIC, "Failed to construct temporary file name");
-
- while (hintlen > 0 && hint[hintlen-1] != DIRSEP)
- hintlen--;
-
- if (hintlen > 0)
- memcpy(hintpath, hint, hintlen);
- hintpath[hintlen] = 0;
- tmp = tempnam(hintlen > 0 ? hintpath : ".", base);
- fz_free(ctx, hintpath);
-#else
- tmp = tempnam(".", base);
-#endif
-
- if (tmp == NULL)
- fz_throw(ctx, FZ_ERROR_GENERIC, "Failed to construct temporary file name");
- ret = fz_strdup(ctx, tmp);
-
- /* The value returned from tempnam is allocated using malloc.
- * We must therefore free it using free. Real, honest to God
- * free, not Memento_free, or other wrapped versions.
- */
-#undef free
- (free)(tmp);
- return ret;
+ char *p = tmpnam(NULL);
+ if (!p)
+ fz_throw(ctx, FZ_ERROR_GENERIC, "cannot generate temporary file name");
+ return fz_strdup(ctx, p);
}