Ejemplo n.º 1
0
/* make sure a dir exists */
static int
MakeDir(const char *adir)
{
    struct stat tstat;
    afs_int32 code;
    if (stat(adir, &tstat) < 0 || (tstat.st_mode & S_IFMT) != S_IFDIR) {
	int reqPerm;
	unlink(adir);
	reqPerm = GetRequiredDirPerm(adir);
	if (reqPerm == -1)
	    reqPerm = 0777;
	code = MakeDirParents(adir, reqPerm);
	return code;
    }
    return 0;
}
Ejemplo n.º 2
0
/* make sure a dir exists */
static int
MakeDir(const char *adir)
{
    struct stat tstat;
    afs_int32 code;
    if (stat(adir, &tstat) < 0 || (tstat.st_mode & S_IFMT) != S_IFDIR) {
	int reqPerm;
	unlink(adir);
	reqPerm = GetRequiredDirPerm(adir);
	if (reqPerm == -1)
	    reqPerm = 0777;
#ifdef AFS_NT40_ENV
	/* underlying filesystem may not support directory protection */
	code = mkdir(adir);
#else
	code = mkdir(adir, reqPerm);
#endif
	return code;
    }
    return 0;
}