]> git.ipfire.org Git - thirdparty/cups.git/commitdiff
Workaround for tempfiles on OS X 10.4 229/head
authorEvan Miller <emmiller@gmail.com>
Mon, 30 Aug 2021 13:35:19 +0000 (09:35 -0400)
committerEvan Miller <emmiller@gmail.com>
Mon, 30 Aug 2021 18:14:52 +0000 (14:14 -0400)
_CS_DARWIN_USER_TEMP_DIR was introduced in the 10.5 SDK. Fall back to
/private/tmp on earlier OS versions.

cups/ppd-util.c
cups/tempfile.c

index 5e43615eb77b856c406b99e384c45284dfb1bd16..99262aadbf6450608865995af30d9c0ec4e6af74 100644 (file)
@@ -226,17 +226,21 @@ cupsGetPPD3(http_t     *http,             /* I  - HTTP connection or @code CUPS_HTTP_DEFAUL
        * per-process TMPDIR value.
        */
 
+#ifdef _CS_DARWIN_USER_TEMP_DIR
         char           tmppath[1024];  /* Temporary directory */
+#endif /* _CS_DARWIN_USER_TEMP_DIR */
 
        if ((tmpdir = getenv("TMPDIR")) != NULL && access(tmpdir, W_OK))
          tmpdir = NULL;
 
        if (!tmpdir)
        {
+#ifdef _CS_DARWIN_USER_TEMP_DIR
          if (confstr(_CS_DARWIN_USER_TEMP_DIR, tmppath, sizeof(tmppath)))
            tmpdir = tmppath;
          else
-           tmpdir = "/private/tmp";            /* This should never happen */
+#endif /* _CS_DARWIN_USER_TEMP_DIR */
+           tmpdir = "/private/tmp";            /* OS X 10.4 and earlier */
        }
 #else
        /*
index fb39802955292d6c3860a83633960b9b0fb059c4..3b52a1547d32bbb7918050e3971b2d957d3f51ad 100644 (file)
@@ -38,9 +38,9 @@ cupsTempFd(char *filename,            /* I - Pointer to buffer */
   int          fd;                     /* File descriptor for temp file */
   int          tries;                  /* Number of tries */
   const char   *tmpdir;                /* TMPDIR environment var */
-#if defined(__APPLE__) || defined(_WIN32)
+#if (defined(__APPLE__) && defined(_CS_DARWIN_USER_TEMP_DIR)) || defined(_WIN32)
   char         tmppath[1024];          /* Temporary directory */
-#endif /* __APPLE__ || _WIN32 */
+#endif /* (__APPLE__ && _CS_DARWIN_USER_TEMP_DIR) || _WIN32 */
 #ifdef _WIN32
   DWORD                curtime;                /* Current time */
 #else
@@ -72,10 +72,12 @@ cupsTempFd(char *filename,          /* I - Pointer to buffer */
 
   if (!tmpdir)
   {
+#ifdef _CS_DARWIN_USER_TEMP_DIR
     if (confstr(_CS_DARWIN_USER_TEMP_DIR, tmppath, sizeof(tmppath)))
       tmpdir = tmppath;
     else
-      tmpdir = "/private/tmp";         /* This should never happen */
+#endif /* _CS_DARWIN_USER_TEMP_DIR */
+      tmpdir = "/private/tmp";         /* OS X 10.4 and earlier */
   }
 
 #else