projects
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Set BFD target to "plugin" for "nm --plugin".
[binutils-gdb.git]
/
binutils
/
filemode.c
diff --git
a/binutils/filemode.c
b/binutils/filemode.c
index f9811bc4926c25932810fecb49e9acf208fd3c36..8b29defc5287a4af5087d2d8b6348e73c951acd5 100644
(file)
--- a/
binutils/filemode.c
+++ b/
binutils/filemode.c
@@
-1,9
+1,10
@@
/* filemode.c -- make a string describing file modes
/* filemode.c -- make a string describing file modes
- Copyright (C) 1985, 90, 91, 94, 95, 97, 1999 Free Software Foundation, Inc.
+ Copyright 1985, 1990, 1991, 1994, 1995, 1997, 1999, 2002, 2003, 2005,
+ 2007 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
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)
+ the Free Software Foundation; either version
3
, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
any later version.
This program is distributed in the hope that it will be useful,
@@
-13,14
+14,15
@@
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
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., 5
9 Temple Place - Suite 330
, Boston, MA
- 0211
1-1307
, USA. */
+ Foundation, Inc., 5
1 Franklin Street - Fifth Floor
, Boston, MA
+ 0211
0-1301
, USA. */
\f
\f
+#include "sysdep.h"
#include "bfd.h"
#include "bucomm.h"
#include "bfd.h"
#include "bucomm.h"
-static char ftypelet
PARAMS ((unsigned long)
);
-static void setst
PARAMS ((unsigned long, char *)
);
+static char ftypelet
(unsigned long
);
+static void setst
(unsigned long, char *
);
/* filemodestring - fill in string STR with an ls-style ASCII
representation of the st_mode field of file stats block STATP.
/* filemodestring - fill in string STR with an ls-style ASCII
representation of the st_mode field of file stats block STATP.
@@
-56,21
+58,7
@@
static void setst PARAMS ((unsigned long, char *));
9 'x' if any user may execute, 't' if the file is "sticky"
(will be retained in swap space after execution), '-'
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. */
-
-#if 0
-
-/* This is not used; only mode_string is used. */
-
-void
-filemodestring (statp, str)
- struct stat *statp;
- char *str;
-{
- mode_string ((unsigned long) statp->st_mode, str);
-}
-
-#endif
+ 'T' if the file is sticky but not executable. */
/* Get definitions for the file permission bits. */
/* Get definitions for the file permission bits. */
@@
-114,12
+102,10
@@
filemodestring (statp, str)
#endif
/* Like filemodestring, but only the relevant part of the `struct stat'
#endif
/* Like filemodestring, but only the relevant part of the `struct stat'
- is given as an argument. */
+ is given as an argument.
*/
void
void
-mode_string (mode, str)
- unsigned long mode;
- char *str;
+mode_string (unsigned long mode, char *str)
{
str[0] = ftypelet ((unsigned long) mode);
str[1] = (mode & S_IRUSR) != 0 ? 'r' : '-';
{
str[0] = ftypelet ((unsigned long) mode);
str[1] = (mode & S_IRUSR) != 0 ? 'r' : '-';
@@
-139,11
+125,11
@@
mode_string (mode, str)
'd' for directories
'b' for block special files
'c' for character special files
'd' for directories
'b' for block special files
'c' for character special files
- 'm' for multiplex
o
r files
+ 'm' for multiplex
e
r files
'l' for symbolic links
's' for sockets
'p' for fifos
'l' for symbolic links
's' for sockets
'p' for fifos
- '-' for any other file type. */
+ '-' for any other file type.
*/
#ifndef S_ISDIR
#ifdef S_IFDIR
#ifndef S_ISDIR
#ifdef S_IFDIR
@@
-194,8
+180,7
@@
mode_string (mode, str)
#endif /* ! defined (S_ISLNK) */
static char
#endif /* ! defined (S_ISLNK) */
static char
-ftypelet (bits)
- unsigned long bits;
+ftypelet (unsigned long bits)
{
if (S_ISDIR (bits))
return 'd';
{
if (S_ISDIR (bits))
return 'd';
@@
-226,18
+211,16
@@
ftypelet (bits)
}
/* Set the 's' and 't' flags in file attributes string CHARS,
}
/* Set the 's' and 't' flags in file attributes string CHARS,
- according to the file mode BITS. */
+ according to the file mode BITS.
*/
static void
static void
-setst (bits, chars)
- unsigned long bits ATTRIBUTE_UNUSED;
- char *chars ATTRIBUTE_UNUSED;
+setst (unsigned long bits ATTRIBUTE_UNUSED, char *chars ATTRIBUTE_UNUSED)
{
#ifdef S_ISUID
if (bits & S_ISUID)
{
if (chars[3] != 'x')
{
#ifdef S_ISUID
if (bits & S_ISUID)
{
if (chars[3] != 'x')
- /* Set-uid, but not executable by owner. */
+ /* Set-uid, but not executable by owner.
*/
chars[3] = 'S';
else
chars[3] = 's';
chars[3] = 'S';
else
chars[3] = 's';
@@
-247,7
+230,7
@@
setst (bits, chars)
if (bits & S_ISGID)
{
if (chars[6] != 'x')
if (bits & S_ISGID)
{
if (chars[6] != 'x')
- /* Set-gid, but not executable by group. */
+ /* Set-gid, but not executable by group.
*/
chars[6] = 'S';
else
chars[6] = 's';
chars[6] = 'S';
else
chars[6] = 's';
@@
-257,7
+240,7
@@
setst (bits, chars)
if (bits & S_ISVTX)
{
if (chars[9] != 'x')
if (bits & S_ISVTX)
{
if (chars[9] != 'x')
- /* Sticky, but not executable by others. */
+ /* Sticky, but not executable by others.
*/
chars[9] = 'T';
else
chars[9] = 't';
chars[9] = 'T';
else
chars[9] = 't';