text: /***********************************************************************
  *                                                                      *
  *               This software is part of the ast package               *
  *          Copyright (c) 1985-2010 AT&T Intellectual Property          *
  *                      and is licensed under the                       *
  *                  Common Public License, Version 1.0                  *
  *                    by AT&T Intellectual Property                     *
  *                                                                      *
  *                A copy of the License is available at                 *
  *            http://www.opensource.org/licenses/cpl1.0.txt             *
  *         (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9)         *
  *                                                                      *
  *              Information and Software Systems Research               *
  *                            AT&T Research                             *
  *                           Florham Park NJ                            *
  *                                                                      *
  *                 Glenn Fowler <gsf@research.att.com>                  *
  *                  David Korn <dgk@research.att.com>                   *
  *                   Phong Vo <kpv@research.att.com>                    *
  *                                                                      *
  ***********************************************************************/
  #pragma prototyped
  
  #include <ast.h>
  
  #if _lib_mkdir
  
  NoN(mkdir)
  
  #else
  
  #include <ls.h>
  #include <wait.h>
  #include <error.h>
  
  int
  mkdir(const char* path, mode_t mode)
  {
  	register int	n;
  	char*		av[3];
  
  	static char*	cmd[] = { "/bin/mkdir", "/usr/5bin/mkdir", 0 };
  
  
  	n = errno;
  	if (!access(path, F_OK))
  	{
  		errno = EEXIST;
  		return(-1);
  	}
  	if (errno != ENOENT) return(-1);
  	errno = n;
  	av[0] = "mkdir";
  	av[1] = path;
  	av[2] = 0;
  	for (n = 0; n < elementsof(cmd); n++)
  		if (procclose(procopen(cmd[n], av, NiL, NiL, 0)) != -1)
  			break;
  	return(chmod(path, mode));
  }
  
  #endif
  