progname in gettext has changed.
[gnulib.git] / lib / modechange.c
index 6fb9832..8cec11d 100644 (file)
@@ -1,5 +1,7 @@
 /* modechange.c -- file mode manipulation
-   Copyright (C) 1989, 1990, 1997, 1998, 1999, 2001 Free Software Foundation, Inc.
+
+   Copyright (C) 1989, 1990, 1997, 1998, 1999, 2001, 2003 Free Software
+   Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -31,6 +33,7 @@
 #include "modechange.h"
 #include <sys/stat.h>
 #include "xstrtol.h"
+#include <stddef.h>
 
 #if STDC_HEADERS
 # include <stdlib.h>
 char *malloc ();
 #endif
 
-#ifndef NULL
-# define NULL 0
-#endif
-
 #if STAT_MACROS_BROKEN
 # undef S_ISDIR
 #endif
@@ -194,18 +193,18 @@ mode_compile (const char *mode_string, unsigned int masked_ops)
               && S_IRGRP == RGRP && S_IWGRP == WGRP && S_IXGRP == XGRP
               && S_IROTH == ROTH && S_IWOTH == WOTH && S_IXOTH == XOTH)
              ? octal_value
-             : ((octal_value & SUID ? S_ISUID : 0)
-                | (octal_value & SGID ? S_ISGID : 0)
-                | (octal_value & SVTX ? S_ISVTX : 0)
-                | (octal_value & RUSR ? S_IRUSR : 0)
-                | (octal_value & WUSR ? S_IWUSR : 0)
-                | (octal_value & XUSR ? S_IXUSR : 0)
-                | (octal_value & RGRP ? S_IRGRP : 0)
-                | (octal_value & WGRP ? S_IWGRP : 0)
-                | (octal_value & XGRP ? S_IXGRP : 0)
-                | (octal_value & ROTH ? S_IROTH : 0)
-                | (octal_value & WOTH ? S_IWOTH : 0)
-                | (octal_value & XOTH ? S_IXOTH : 0)));
+             : (mode_t) ((octal_value & SUID ? S_ISUID : 0)
+                         | (octal_value & SGID ? S_ISGID : 0)
+                         | (octal_value & SVTX ? S_ISVTX : 0)
+                         | (octal_value & RUSR ? S_IRUSR : 0)
+                         | (octal_value & WUSR ? S_IWUSR : 0)
+                         | (octal_value & XUSR ? S_IXUSR : 0)
+                         | (octal_value & RGRP ? S_IRGRP : 0)
+                         | (octal_value & WGRP ? S_IWGRP : 0)
+                         | (octal_value & XGRP ? S_IXGRP : 0)
+                         | (octal_value & ROTH ? S_IROTH : 0)
+                         | (octal_value & WOTH ? S_IWOTH : 0)
+                         | (octal_value & XOTH ? S_IXOTH : 0)));
 
       p = make_node_op_equals (mode);
       if (p == NULL)