X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fmodechange.c;h=f778c3aaf90b03f2cc9ddb11114b84bfb26e2a59;hb=ef1a7364a77f86eb148a6f0bec2fedf26ba1c11d;hp=b09661d0c5ca68da99ad8a362b45ad02f0d432e0;hpb=d87c39464604e74f580c7fae835be31a4c125c36;p=gnulib.git diff --git a/lib/modechange.c b/lib/modechange.c index b09661d0c..f778c3aaf 100644 --- a/lib/modechange.c +++ b/lib/modechange.c @@ -12,8 +12,8 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ + along with this program; if not, write to the Free Software Foundation, + Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* Written by David MacKenzie */ @@ -24,22 +24,30 @@ changing the mode of many files, this probably results in a performance gain. */ +#if HAVE_CONFIG_H +# include +#endif + #include #include #include "modechange.h" -#ifdef STDC_HEADERS -#include +#if STDC_HEADERS +# include #else char *malloc (); #endif #ifndef NULL -#define NULL 0 +# define NULL 0 +#endif + +#if STAT_MACROS_BROKEN +# undef S_ISDIR #endif -#ifndef S_ISDIR -#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) +#if !defined(S_ISDIR) && defined(S_IFDIR) +# define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) #endif /* Return newly allocated memory to hold one element of type TYPE. */ @@ -64,7 +72,7 @@ static int oatoi (); struct mode_change * mode_compile (mode_string, masked_ops) - register char *mode_string; + const char *mode_string; unsigned masked_ops; { struct mode_change *head; /* First element of the linked list. */ @@ -95,6 +103,9 @@ mode_compile (mode_string, masked_ops) umask (umask_value); /* Restore the old value. */ head = NULL; +#ifdef lint + change = NULL; +#endif --mode_string; /* One loop iteration for each "ugoa...=+-rwxXstugo...[=+-rwxXstugo...]". */ @@ -233,7 +244,7 @@ invalid: unsigned short mode_adjust (oldmode, changes) unsigned oldmode; - register struct mode_change *changes; + const struct mode_change *changes; { unsigned short newmode; /* The adjusted mode and one operand. */ unsigned short value; /* The other operand. */