svn commit: r266556 - head/usr.bin/mkimg

Marcel Moolenaar marcel at FreeBSD.org
Thu May 22 20:24:31 UTC 2014


Author: marcel
Date: Thu May 22 20:24:30 2014
New Revision: 266556
URL: http://svnweb.freebsd.org/changeset/base/266556

Log:
  Create our temporary file in $TMPDIR, if the environment variable
  is set. /tmp otherwise.
  
  Submitted by:   Dan McGregor <danismostlikely at gmail.com>

Modified:
  head/usr.bin/mkimg/image.c
  head/usr.bin/mkimg/mkimg.1

Modified: head/usr.bin/mkimg/image.c
==============================================================================
--- head/usr.bin/mkimg/image.c	Thu May 22 19:36:29 2014	(r266555)
+++ head/usr.bin/mkimg/image.c	Thu May 22 20:24:30 2014	(r266556)
@@ -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_
 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);

Modified: head/usr.bin/mkimg/mkimg.1
==============================================================================
--- head/usr.bin/mkimg/mkimg.1	Thu May 22 19:36:29 2014	(r266555)
+++ head/usr.bin/mkimg/mkimg.1	Thu May 22 20:24:30 2014	(r266556)
@@ -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 pa
 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


More information about the svn-src-all mailing list