1570af302Sopenharmony_ci// commit: 69ecbd0f3188be97f91cc0d6415836d23e88f7fc 2011-02-19
2570af302Sopenharmony_ci// commit: 382584724308442f03f3d29f7fc6de9e9d140982 2011-06-12
3570af302Sopenharmony_ci// commit: c4685ae429a0cce4b285859d62a71fe603f0a864 2013-08-02
4570af302Sopenharmony_ci// mkdtemp should return -1 on bad template
5570af302Sopenharmony_ci#define _DEFAULT_SOURCE 1
6570af302Sopenharmony_ci#define _BSD_SOURCE 1
7570af302Sopenharmony_ci#include <stdlib.h>
8570af302Sopenharmony_ci#include <string.h>
9570af302Sopenharmony_ci#include <errno.h>
10570af302Sopenharmony_ci#include "test.h"
11570af302Sopenharmony_ci
12570af302Sopenharmony_cichar *mkdtemp(char *);
13570af302Sopenharmony_ci
14570af302Sopenharmony_ci#define S "/dev/null/fooXXXX"
15570af302Sopenharmony_ci
16570af302Sopenharmony_ciint main(void)
17570af302Sopenharmony_ci{
18570af302Sopenharmony_ci	char p[] = S;
19570af302Sopenharmony_ci	char *r;
20570af302Sopenharmony_ci
21570af302Sopenharmony_ci	r = mkdtemp(p);
22570af302Sopenharmony_ci	if (r)
23570af302Sopenharmony_ci		t_error("mkdtemp(" S ") did not fail\n");
24570af302Sopenharmony_ci	if (memcmp(p, S, sizeof p) != 0)
25570af302Sopenharmony_ci		t_error("mkdtemp(" S ") modified the template: %s\n", p);
26570af302Sopenharmony_ci	if (r == 0 && errno != EINVAL)
27570af302Sopenharmony_ci		t_error("mkdtemp(" S ") failed with %d [%s] instead of %d [%s]\n",
28570af302Sopenharmony_ci			errno, strerror(errno), EINVAL, strerror(EINVAL));
29570af302Sopenharmony_ci	return t_status;
30570af302Sopenharmony_ci}
31