You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
+ Boston, MA 02111-1307, USA.
+*/
-#include "libguile/scmconfig.h"
+#if HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include "libguile/__scm.h"
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
#include <process.h>
#endif
-/* We need to provide a type for gcc_uint64_t. */
-#ifdef __GNUC__
-typedef unsigned long long gcc_uint64_t;
-#else
-typedef unsigned long gcc_uint64_t;
-#endif
-
#ifndef TMP_MAX
#define TMP_MAX 16384
#endif
+/* We provide this prototype to avoid compiler warnings. If this ever
+ conflicts with a declaration in a system header file, we'll find
+ out, because we should include that header file here. */
+int mkstemp (char *);
+
/* Generate a unique temporary file name from TEMPLATE.
TEMPLATE has the form:
{
static const char letters[]
= "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
- static gcc_uint64_t value;
+ static scm_t_uint64 value;
#ifdef HAVE_GETTIMEOFDAY
struct timeval tv;
#endif
#ifdef HAVE_GETTIMEOFDAY
/* Get some more or less random data. */
gettimeofday (&tv, NULL);
- value += ((gcc_uint64_t) tv.tv_usec << 16) ^ tv.tv_sec ^ getpid ();
+ value += ((scm_t_uint64) tv.tv_usec << 16) ^ tv.tv_sec ^ getpid ();
#else
value += getpid ();
#endif
for (count = 0; count < TMP_MAX; ++count)
{
- gcc_uint64_t v = value;
+ scm_t_uint64 v = value;
int fd;
/* Fill in the random bits. */