#endif
#ifdef STDC_HEADERS
-#include <errno.h>
#include <stdlib.h>
-#else
+#endif
+
+#ifdef HAVE_ERRNO_H
+#include <errno.h>
+#endif
+
+#ifndef STDC_HEADERS
extern int errno;
#endif
#if defined(STDC_HEADERS) || defined(HAVE_STRING_H)
#include <string.h>
+#ifndef index
#define index strchr
+#endif
#else
#include <strings.h>
#endif
int retval = 0;
int oldmask = umask (0);
- dirpath = alloca (strlen (argpath) + 1);
+ dirpath = (char *) alloca (strlen (argpath) + 1);
strcpy (dirpath, argpath);
if (stat (dirpath, &stats))
if (owner != (uid_t) -1 && group != (gid_t) -1
&& chown (dirpath, owner, group)
-#ifdef AFS
+#if defined(AFS) && defined (EPERM)
&& errno != EPERM
#endif
)