doc: use ASCII in .texi files where UTF-8 isn't needed
[gnulib.git] / lib / filemode.c
index 726c331..3e2f8c0 100644 (file)
@@ -1,12 +1,12 @@
 /* filemode.c -- make a string describing file modes
 
-   Copyright (C) 1985, 1990, 1993, 1998-2000, 2004, 2006 Free Software
-   Foundation, Inc.
+   Copyright (C) 1985, 1990, 1993, 1998-2000, 2004, 2006, 2009-2014 Free
+   Software Foundation, Inc.
 
-   This program is free software; you can redistribute it and/or modify
+   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
-   the Free Software Foundation; either version 2, or (at your option)
-   any later version.
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include <config.h>
 
 #include "filemode.h"
 
 /* The following is for Cray DMF (Data Migration Facility), which is a
-   HSM file system.  A migrated file has a `st_dm_mode' that is
-   different from the normal `st_mode', so any tests for migrated
+   HSM file system.  A migrated file has a 'st_dm_mode' that is
+   different from the normal 'st_mode', so any tests for migrated
    files should use the former.  */
 #if HAVE_ST_DM_MODE
 # define IS_MIGRATED_FILE(statp) \
@@ -79,7 +78,7 @@ ftypelet (mode_t bits)
     return 'C';
   if (S_ISDOOR (bits))
     return 'D';
-  if (S_ISMPB (bits) || S_ISMPC (bits))
+  if (S_ISMPB (bits) || S_ISMPC (bits) || S_ISMPX (bits))
     return 'm';
   if (S_ISNWK (bits))
     return 'n';
@@ -100,18 +99,18 @@ strmode (mode_t mode, char *str)
   str[1] = mode & S_IRUSR ? 'r' : '-';
   str[2] = mode & S_IWUSR ? 'w' : '-';
   str[3] = (mode & S_ISUID
-           ? (mode & S_IXUSR ? 's' : 'S')
-           : (mode & S_IXUSR ? 'x' : '-'));
+            ? (mode & S_IXUSR ? 's' : 'S')
+            : (mode & S_IXUSR ? 'x' : '-'));
   str[4] = mode & S_IRGRP ? 'r' : '-';
   str[5] = mode & S_IWGRP ? 'w' : '-';
   str[6] = (mode & S_ISGID
-           ? (mode & S_IXGRP ? 's' : 'S')
-           : (mode & S_IXGRP ? 'x' : '-'));
+            ? (mode & S_IXGRP ? 's' : 'S')
+            : (mode & S_IXGRP ? 'x' : '-'));
   str[7] = mode & S_IROTH ? 'r' : '-';
   str[8] = mode & S_IWOTH ? 'w' : '-';
   str[9] = (mode & S_ISVTX
-           ? (mode & S_IXOTH ? 't' : 'T')
-           : (mode & S_IXOTH ? 'x' : '-'));
+            ? (mode & S_IXOTH ? 't' : 'T')
+            : (mode & S_IXOTH ? 'x' : '-'));
   str[10] = ' ';
   str[11] = '\0';
 }
@@ -123,43 +122,43 @@ strmode (mode_t mode, char *str)
    12 characters are stored in STR.
    The characters stored in STR are:
 
-   0   File type, as in ftypelet above, except that other letters are used
+   0    File type, as in ftypelet above, except that other letters are used
         for files whose type cannot be determined solely from st_mode:
 
-           'F' semaphore
-           'M' migrated file (Cray DMF)
-           'Q' message queue
-           'S' shared memory object
-           'T' typed memory object
+            'F' semaphore
+            'M' migrated file (Cray DMF)
+            'Q' message queue
+            'S' shared memory object
+            'T' typed memory object
 
-   1   'r' if the owner may read, '-' otherwise.
+   1    'r' if the owner may read, '-' otherwise.
 
-   2   'w' if the owner may write, '-' otherwise.
+   2    'w' if the owner may write, '-' otherwise.
 
-   3   'x' if the owner may execute, 's' if the file is
-       set-user-id, '-' otherwise.
-       'S' if the file is set-user-id, but the execute
-       bit isn't set.
+   3    'x' if the owner may execute, 's' if the file is
+        set-user-id, '-' otherwise.
+        'S' if the file is set-user-id, but the execute
+        bit isn't set.
 
-   4   'r' if group members may read, '-' otherwise.
+   4    'r' if group members may read, '-' otherwise.
 
-   5   'w' if group members may write, '-' otherwise.
+   5    'w' if group members may write, '-' otherwise.
 
-   6   'x' if group members may execute, 's' if the file is
-       set-group-id, '-' otherwise.
-       'S' if it is set-group-id but not executable.
+   6    'x' if group members may execute, 's' if the file is
+        set-group-id, '-' otherwise.
+        'S' if it is set-group-id but not executable.
 
-   7   'r' if any user may read, '-' otherwise.
+   7    'r' if any user may read, '-' otherwise.
 
-   8   'w' if any user may write, '-' otherwise.
+   8    'w' if any user may write, '-' otherwise.
 
-   9   'x' if any user may execute, 't' if the file is "sticky"
-       (will be retained in swap space after execution), '-'
-       otherwise.
-       'T' if the file is sticky but not executable.
+   9    'x' if any user may execute, 't' if the file is "sticky"
+        (will be retained in swap space after execution), '-'
+        otherwise.
+        'T' if the file is sticky but not executable.
 
    10   ' ' for compatibility with 4.4BSD strmode,
-       since this interface does not support ACLs.
+        since this interface does not support ACLs.
 
    11   '\0'.  */