xref: /csrg-svn/usr.bin/uucp/port/mkdir.c (revision 23613)
118478Sralph #ifndef lint
2*23613Sbloom static char sccsid[] = "@(#)mkdir.c	5.2 (Berkeley) 06/20/85";
318478Sralph #endif
418478Sralph 
518478Sralph #ifndef BSD4_2
618478Sralph #include <stdio.h>
7*23613Sbloom 
818478Sralph /*
918478Sralph  * make a directory. Also make sure that the directory is owned
1018478Sralph  * by the right userid
1118478Sralph  */
1218478Sralph mkdir(path, mode)
1318478Sralph char *path;
1418478Sralph int mode;
1518478Sralph {
1618478Sralph 	int pid, status, w;
1718478Sralph 
1818478Sralph 	if (pid=fork()) {
1918478Sralph 		while ((w = wait(&status)) != pid && w != -1)
2018478Sralph 			;
2118478Sralph 		(void) chmod(path, mode);
2218478Sralph 	} else {
23*23613Sbloom 		(void) umask(~mode);
2418478Sralph 		(void) execlp("mkdir", "mkdir", path, (char *)NULL);
2518478Sralph 		perror(path);
2618478Sralph 		_exit(1);
2718478Sralph 	}
28*23613Sbloom 	return status;
2918478Sralph }
3018478Sralph #endif !BSD4_2
31