]> git.saurik.com Git - apple/libc.git/blobdiff - stdio/FreeBSD/tempnam.c.patch
Libc-825.24.tar.gz
[apple/libc.git] / stdio / FreeBSD / tempnam.c.patch
diff --git a/stdio/FreeBSD/tempnam.c.patch b/stdio/FreeBSD/tempnam.c.patch
deleted file mode 100644 (file)
index 7e1c8be..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
---- tempnam.c.orig     2010-10-25 19:45:24.000000000 -0700
-+++ tempnam.c  2010-10-25 22:01:51.000000000 -0700
-@@ -53,35 +53,60 @@ tempnam(dir, pfx)
-       int sverrno;
-       char *f, *name;
--      if (!(name = malloc(MAXPATHLEN)))
-+      if (!(name = malloc(MAXPATHLEN))) {
-               return(NULL);
-+      }
-       if (!pfx)
-               pfx = "tmp.";
-+#if !__DARWIN_UNIX03
-       if (issetugid() == 0 && (f = getenv("TMPDIR"))) {
-               (void)snprintf(name, MAXPATHLEN, "%s%s%sXXXXXX", f,
-                   *(f + strlen(f) - 1) == '/'? "": "/", pfx);
--              if ((f = _mktemp(name)))
-+              if ((f = _mktemp(name))) {
-                       return(f);
-+              }
-       }
--
-+#endif /* !__DARWIN_UNIX03 */
-       if ((f = (char *)dir)) {
-+#if __DARWIN_UNIX03
-+          if (access(dir, W_OK) == 0) {
-+#endif /* __DARWIN_UNIX03 */
-               (void)snprintf(name, MAXPATHLEN, "%s%s%sXXXXXX", f,
-                   *(f + strlen(f) - 1) == '/'? "": "/", pfx);
--              if ((f = _mktemp(name)))
-+              if ((f = _mktemp(name))) {
-                       return(f);
-+              }
-+#if __DARWIN_UNIX03
-+          }
-+#endif /* __DARWIN_UNIX03 */
-       }
-       f = P_tmpdir;
-+#if __DARWIN_UNIX03
-+      if (access(f, W_OK) == 0) {     /* directory accessible? */
-+#endif /* __DARWIN_UNIX03 */
-       (void)snprintf(name, MAXPATHLEN, "%s%sXXXXXX", f, pfx);
--      if ((f = _mktemp(name)))
-+      if ((f = _mktemp(name))) {
-               return(f);
-+      }
-+#if __DARWIN_UNIX03
-+      }
-+      if (issetugid() == 0 && (f = getenv("TMPDIR")) && access(f, W_OK) == 0) {
-+              (void)snprintf(name, MAXPATHLEN, "%s%s%sXXXXXX", f,
-+                  *(f + strlen(f) - 1) == '/'? "": "/", pfx);
-+              if ((f = _mktemp(name))) {
-+                      return(f);
-+              }
-+      }
-+#endif /* __DARWIN_UNIX03 */
-       f = _PATH_TMP;
-       (void)snprintf(name, MAXPATHLEN, "%s%sXXXXXX", f, pfx);
--      if ((f = _mktemp(name)))
-+      if ((f = _mktemp(name))) {
-               return(f);
-+      }
-       sverrno = errno;
-       free(name);