Create our temporary file in $TMPDIR, if the environment variable
is set. /tmp otherwise. Submitted by: Dan McGregor <danismostlikely@gmail.com>
This commit is contained in:
parent
47206692f2
commit
aa30ba04c3
@ -30,6 +30,9 @@ __FBSDID("$FreeBSD$");
|
||||
#include <sys/types.h>
|
||||
#include <assert.h>
|
||||
#include <errno.h>
|
||||
#include <limits.h>
|
||||
#include <paths.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
|
||||
@ -38,7 +41,7 @@ __FBSDID("$FreeBSD$");
|
||||
|
||||
#define BUFFER_SIZE (1024*1024)
|
||||
|
||||
static char image_tmpfile[] = "/tmp/mkimg-XXXXXX";
|
||||
static char image_tmpfile[PATH_MAX];
|
||||
static int image_fd = -1;
|
||||
static lba_t image_size;
|
||||
|
||||
@ -161,9 +164,14 @@ image_write(lba_t blk, void *buf, ssize_t len)
|
||||
int
|
||||
image_init(void)
|
||||
{
|
||||
const char *tmpdir;
|
||||
|
||||
if (atexit(cleanup) == -1)
|
||||
return (errno);
|
||||
if ((tmpdir = getenv("TMPDIR")) == NULL || *tmpdir == '\0')
|
||||
tmpdir = _PATH_TMP;
|
||||
snprintf(image_tmpfile, sizeof(image_tmpfile), "%s/mkimg-XXXXXX",
|
||||
tmpdir);
|
||||
image_fd = mkstemp(image_tmpfile);
|
||||
if (image_fd == -1)
|
||||
return (errno);
|
||||
|
@ -24,7 +24,7 @@
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd March 27, 2014
|
||||
.Dd May 22, 2014
|
||||
.Dt MKIMG 1
|
||||
.Os
|
||||
.Sh NAME
|
||||
@ -159,6 +159,11 @@ For partitioning schemes that feature partition labels, the
|
||||
utility supports assigning labels to the partitions specified.
|
||||
In the following example the file system partition is labeled as 'backup':
|
||||
.Dl % mkimg -s gpt -p freebsd-ufs/backup:=file-system.ufs -o gpt.img
|
||||
.Sh ENVIRONMENT
|
||||
.Bl -tag -width "TMPDIR" -compact
|
||||
.It Ev TMPDIR
|
||||
Directory to put temporary files in; default is
|
||||
.Pa /tmp .
|
||||
.Sh SEE ALSO
|
||||
.Xr gpart 8
|
||||
.Xr makefs 8
|
||||
|
Loading…
x
Reference in New Issue
Block a user