X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fmakepath.c;h=661f58b0fdba73b9fd6b5b7f8ab24d219627824f;hb=692c4b6ea764fd34a53142b53c53a2d54b33ae6a;hp=b59211672dd6319ba892bc515760f25f5f67354e;hpb=d6435a176cbcb69561f62652a0c02e6125e14685;p=gnulib.git diff --git a/lib/makepath.c b/lib/makepath.c index b59211672..661f58b0f 100644 --- a/lib/makepath.c +++ b/lib/makepath.c @@ -59,17 +59,17 @@ char *alloca (); #include #endif -#ifndef STDC_HEADERS +#ifndef errno extern int errno; #endif -#if defined(STDC_HEADERS) || defined(HAVE_STRING_H) -#include -#ifndef index -#define index strchr -#endif +#ifdef HAVE_STRING_H +# include #else -#include +# include +# ifndef strchr +# define strchr index +# endif #endif #ifdef __MSDOS__ @@ -78,7 +78,7 @@ typedef int gid_t; #endif #include "makepath.h" -#include "safe-stat.h" + void error (); /* Ensure that the directory ARGPATH exists. @@ -99,7 +99,7 @@ void error (); Return 0 if ARGPATH exists as a directory with the proper ownership and permissions when done, otherwise 1. */ -#if defined (__GNUC__) || (defined (__STDC__) && __STDC__) +#if __STDC__ int make_path (const char *argpath, int mode, @@ -131,7 +131,7 @@ make_path (argpath, mode, parent_mode, owner, group, preserve_existing, dirpath = (char *) alloca (strlen (argpath) + 1); strcpy (dirpath, argpath); - if (SAFE_STAT (dirpath, &stats)) + if (stat (dirpath, &stats)) { char *slash; int tmp_mode; /* Initial perms for leading dirs. */ @@ -162,10 +162,10 @@ make_path (argpath, mode, parent_mode, owner, group, preserve_existing, slash = dirpath; while (*slash == '/') slash++; - while ((slash = index (slash, '/'))) + while ((slash = strchr (slash, '/'))) { *slash = '\0'; - if (SAFE_STAT (dirpath, &stats)) + if (stat (dirpath, &stats)) { if (mkdir (dirpath, tmp_mode)) { @@ -219,7 +219,7 @@ make_path (argpath, mode, parent_mode, owner, group, preserve_existing, /* The path could end in "/." or contain "/..", so test if we really have to create the directory. */ - if (SAFE_STAT (dirpath, &stats) && mkdir (dirpath, mode)) + if (stat (dirpath, &stats) && mkdir (dirpath, mode)) { error (0, errno, "cannot create directory `%s'", dirpath); umask (oldmask);