Declare mkdtemp() only if we're providing it.
authorTom Lane <tgl@sss.pgh.pa.us>
Sat, 18 Oct 2014 02:55:27 +0000 (22:55 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Sat, 18 Oct 2014 02:55:27 +0000 (22:55 -0400)
Follow our usual style of providing an "extern" for a standard library
function only when we're also providing the implementation.  This avoids
issues when the system headers declare the function slightly differently
than we do, as noted by Caleb Welton.

We might have to go to the extent of probing to see if the system headers
declare the function, but let's not do that until it's demonstrated to be
necessary.

Oversight in commit 9e6b1bf258170e62dac555fc82ff0536dfe01d29.  Back-patch
to all supported branches, as that was.

src/include/port.h

index c117a38f110985eb660eb333ccc83c06f22321d4..cdcc19a32c5ac57b534da5dd24e5df4f39b4bff9 100644 (file)
@@ -408,6 +408,10 @@ extern int getpeereid(int sock, uid_t *uid, gid_t *gid);
 extern int isinf(double x);
 #endif
 
+#ifndef HAVE_MKDTEMP
+extern char *mkdtemp(char *path);
+#endif
+
 #ifndef HAVE_RINT
 extern double rint(double x);
 #endif
@@ -476,9 +480,6 @@ extern int  pg_check_dir(const char *dir);
 /* port/pgmkdirp.c */
 extern int pg_mkdir_p(char *path, int omode);
 
-/* port/mkdtemp.c */
-extern char *mkdtemp(char *path);
-
 /* port/pqsignal.c */
 typedef void (*pqsigfunc) (int signo);
 extern pqsigfunc pqsignal(int signo, pqsigfunc func);