Package: mktemp Version: 1.6-2 Tags: patch Since 1.6-2, mktemp rejects filename templates that do not end in "XXXXXX" and prints a somewhat cryptic error message when you try:
$ mktemp -d ~/temp/three.XXX
mktemp: cannot make temp dir /home/lamby/temp/three.XXX: Invalid argument
The attached patch prints a more descriptive message in this situation. The
#define conditionals are required as the private code will set EINVAL for
other reasons.
Regards,
--
,''`.
: :' : Chris Lamb
`. `'` [email protected]
`-
diff -urNd mktemp-1.6.orig/mktemp.c mktemp-1.6/mktemp.c
--- mktemp-1.6.orig/mktemp.c 2009-03-26 19:43:22.000000000 +0000
+++ mktemp-1.6/mktemp.c 2009-03-26 19:43:34.000000000 +0000
@@ -183,6 +183,13 @@
(void)fprintf(stderr,
"%s: cannot make temp dir %s: %s\n",
__progname, tempfile, strerror(errno));
+#if MKDTEMP == mkdtemp
+ if (errno == EINVAL) {
+ (void)fprintf(stderr,
+ "%s: last six characters of
template must be XXXXXX\n",
+ __progname);
+ }
+#endif
}
exit(1);
}
@@ -195,6 +202,13 @@
(void)fprintf(stderr,
"%s: cannot create temp file %s: %s\n",
__progname, tempfile, strerror(errno));
+#if MKSTEMP == mkstemp
+ if (errno == EINVAL) {
+ (void)fprintf(stderr,
+ "%s: last six characters of
template must be XXXXXX\n",
+ __progname);
+ }
+#endif
}
exit(1);
}
signature.asc
Description: PGP signature

