create(path,mode) char *path;
{
/*
 * create a file "path" with mode "mode".
 * if the initial creat fails and automatic directory creation
 * is enabled then create the directories and try again.
 */
register int i;
register char *p;

if ((i = creat(path,mode)) >= 0 || (flags&fla) == 0)
	return(i);
for (p=path+1; *p; ++p)
	{
	if (*p == '/')
		{
		*p = 0;
		if (stat(path,&statb) < 0)
			{
			mkdir(path);
			if (stat(path,&statb) < 0)
				{
				*p = '/';
				return(i);
				}
			if (flags &flv)
				printf("m %s\n",path);
			}
		*p = '/';
		}
	}
return(creat(path,mode));
}

mkdir(path) char *path;
{
register int i;
int status;

if ((i = fork()) == 0)
	{
	execl("/bin/mkdir","mkdir",path,0);
	printf("no mkdir\n");
	exit(1);
	}
while (wait(&status) != i)
	;
}
