X-Git-Url: http://git.scottworley.com/overonion/blobdiff_plain/a3915755b9992783e291b8921497ab7075557011..2377b838ff45bc3407e0c65028eac858c47c9d4e:/reverse_lib.c diff --git a/reverse_lib.c b/reverse_lib.c index 20837ee..f217b1c 100644 --- a/reverse_lib.c +++ b/reverse_lib.c @@ -1,6 +1,7 @@ -#define _GNU_SOURCE #define _FILE_OFFSET_BITS 64 +#include "temp_file.h" + #include #include #include @@ -32,23 +33,6 @@ void reverse_file(const char* input_filename, FILE* output_stream) { if (close(fd) == -1) err(EX_IOERR, "Could not close input"); } -/* Create a temporary file in $TMPDIR, or /tmp if TMPDIR is not set. - * Caller must free temp_filename and fclose temp_file. Succeeds or terminates - * the process. */ -static 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"); -} - /* Copy data from input to output until EOF is reached. */ static void copy(FILE* input, FILE* output) { for (;;) {