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