]> git.sur5r.net Git - openldap/blob - servers/slapd/tempnam.c
include portable.h
[openldap] / servers / slapd / tempnam.c
1 #include "portable.h"
2
3 #if defined( nextstep )
4
5 #include <string.h>
6
7 char *tempnam( char *dir, char *pfx );
8
9 char *tempnam( char *dir, char *pfx )
10 {
11     char        *s;
12
13     if ( dir == NULL ) {
14         dir = "/tmp";
15     }
16
17 /*
18  * allocate space for dir + '/' + pfx (up to 5 chars) + 6 trailing 'X's + 0 byte
19  */
20     if (( s = (char *)malloc( strlen( dir ) + 14 )) == NULL ) {
21         return( NULL );
22     }
23
24     strcpy( s, dir );
25     strcat( s, "/" );
26     if ( pfx != NULL ) {
27         strcat( s, pfx );
28     }
29     strcat( s, "XXXXXX" );
30     mktemp( s );
31
32     if ( *s == '\0' ) {
33         free( s );
34         s = NULL;
35     }
36
37     return( s );
38 }
39
40 #endif /* nextstep */