X-Git-Url: http://git.scottworley.com/overonion/blobdiff_plain/673e2d68a8813804502df1923a6c2f6e727e69a0..f5ec0b4b91687c7a34d4760381f6e7424f981127:/temp_file.c diff --git a/temp_file.c b/temp_file.c new file mode 100644 index 0000000..68bfb88 --- /dev/null +++ b/temp_file.c @@ -0,0 +1,22 @@ +#define _GNU_SOURCE + +#include "temp_file.h" + +#include +#include +#include +#include + +void make_temporary_file(char** temp_filename, FILE** temp_file) { + char* TMPDIR = getenv("TMPDIR"); + if (TMPDIR == NULL) { + TMPDIR = "/tmp"; + } + if (asprintf(temp_filename, "%s/reverse.XXXXXX", TMPDIR) == -1) { + errx(EX_OSERR, "Could not assemble temporary filename"); + } + int fd = mkstemp(*temp_filename); + if (fd == -1) err(EX_IOERR, "Could not make a temporary file"); + *temp_file = fdopen(fd, "w"); + if (*temp_file == NULL) err(EX_IOERR, "Could not open temporary file"); +}