text: /* $OpenLDAP: pkg/ldap/libraries/liblutil/tempnam.c,v 1.6.8.3 2000/07/04 17:58:54 kurt Exp $ */
  #include "portable.h"
  
  #ifndef HAVE_TEMPNAM
  
  #include <stdio.h>
  
  #include <ac/stdlib.h>
  #include <ac/string.h>
  #include <ac/unistd.h>
  
  #include "lutil.h"
  
  char *
  (tempnam)( const char *dir, const char *pfx )
  {
      char	*s;
  
      if ( dir == NULL ) {
  	dir = LDAP_TMPDIR;
      }
  
  /*
   * allocate space for dir + '/' + pfx (up to 5 chars) + 6 trailing 'X's + 0 byte
   */
      if (( s = (char *)malloc( strlen( dir ) + 14 )) == NULL ) {
  	return( NULL );
      }
  
      strcpy( s, dir );
      strcat( s, "/" );
      if ( pfx != NULL ) {
  	strcat( s, pfx );
      }
      strcat( s, "XXXXXX" );
      mktemp( s );
  
      if ( *s == '\0' ) {
  	free( s );
  	s = NULL;
      }
  
      return( s );
  }
  
  #endif /* TEMPNAM */
  