summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>2001-11-02 13:16:10 +0000
committerJim Meyering <jim@meyering.net>2001-11-02 13:16:10 +0000
commit7b8da9264b24e06711c13642e9cbbdb8cec95360 (patch)
tree2aeef8728d9039d7ad2c4c3e5f2c4a6cf55f39a2 /src
parent07d71b97ce28e7e2bf940ef231a278a05aa86cb3 (diff)
downloadcoreutils-7b8da9264b24e06711c13642e9cbbdb8cec95360.tar.xz
(dev_ino_pop): Cast 2nd arg of obstack_blank to `int'
before negating to avoid warning from gcc on systems with 64-bit size_t. Rename global: s/trace_dirs/recursive/. (extract_dirs_from_files): Rename parameter: s/recursive/ignore_dot_and_dot_dot/.
Diffstat (limited to 'src')
-rw-r--r--src/ls.c25
1 files changed, 13 insertions, 12 deletions
diff --git a/src/ls.c b/src/ls.c
index 2e9607f39..43f74a3a7 100644
--- a/src/ls.c
+++ b/src/ls.c
@@ -319,7 +319,7 @@ static void add_ignore_pattern PARAMS ((const char *pattern));
static void attach PARAMS ((char *dest, const char *dirname, const char *name));
static void clear_files PARAMS ((void));
static void extract_dirs_from_files PARAMS ((const char *dirname,
- int recursive));
+ int ignore_dot_and_dot_dot));
static void get_link_name PARAMS ((const char *filename, struct fileinfo *f));
static void indent PARAMS ((int from, int to));
static void init_column_info PARAMS ((void));
@@ -632,7 +632,7 @@ static enum Dereference_symlink dereference;
/* Nonzero means when a directory is found, display info on its
contents. -R */
-static int trace_dirs; /* FIXME: rename this to `recursive'. */
+static int recursive;
/* Nonzero means when an argument is a directory name, display info
on it itself. -d */
@@ -909,7 +909,7 @@ dev_ino_pop (void)
{
struct dev_ino di;
assert (sizeof di <= obstack_object_size (&dev_ino_obstack));
- obstack_blank (&dev_ino_obstack, -(sizeof di));
+ obstack_blank (&dev_ino_obstack, -(int) (sizeof di));
di = *(struct dev_ino*) obstack_next_free (&dev_ino_obstack);
return di;
}
@@ -1064,7 +1064,7 @@ main (int argc, char **argv)
/* When using -R, initialize a data structure we'll use to
detect any directory cycles. */
- if (trace_dirs)
+ if (recursive)
{
active_dir_set = hash_initialize (INITIAL_TABLE_SIZE, NULL,
dev_ino_hash,
@@ -1079,7 +1079,7 @@ main (int argc, char **argv)
format_needs_stat = sort_type == sort_time || sort_type == sort_size
|| format == long_format
|| dereference == DEREF_ALWAYS
- || trace_dirs || print_block_size || print_inode;
+ || recursive || print_block_size || print_inode;
format_needs_type = (format_needs_stat == 0
&& (print_with_color || indicator_style != none));
@@ -1240,7 +1240,7 @@ decode_switches (int argc, char **argv)
indicator_style = none;
print_inode = 0;
dereference = DEREF_UNDEFINED;
- trace_dirs = 0;
+ recursive = 0;
immediate_dirs = 0;
all_files = 0;
really_all_files = 0;
@@ -1480,7 +1480,7 @@ decode_switches (int argc, char **argv)
break;
case 'R':
- trace_dirs = 1;
+ recursive = 1;
break;
case 'S':
@@ -2093,10 +2093,10 @@ print_dir (const char *name, const char *realname)
/* If any member files are subdirectories, perhaps they should have their
contents listed rather than being mentioned here as files. */
- if (trace_dirs)
+ if (recursive)
extract_dirs_from_files (name, 1);
- if (trace_dirs || print_dir_name)
+ if (recursive || print_dir_name)
{
DIRED_INDENT ();
PUSH_CURRENT_DIRED_POS (&subdired_obstack);
@@ -2386,11 +2386,11 @@ basename_is_dot_or_dotdot (const char *name)
and queue them to be listed as directories instead.
`dirname' is the prefix to prepend to each dirname
to make it correct relative to ls's working dir.
- `recursive' is nonzero if we should not treat `.' and `..' as dirs.
+ If IGNORE_DOT_AND_DOT_DOT is nonzero don't treat `.' and `..' as dirs.
This is desirable when processing directories recursively. */
static void
-extract_dirs_from_files (const char *dirname, int recursive)
+extract_dirs_from_files (const char *dirname, int ignore_dot_and_dot_dot)
{
register int i, j;
@@ -2406,7 +2406,8 @@ extract_dirs_from_files (const char *dirname, int recursive)
order. */
for (i = files_index - 1; i >= 0; i--)
if ((files[i].filetype == directory || files[i].filetype == arg_directory)
- && (!recursive || !basename_is_dot_or_dotdot (files[i].name)))
+ && (!ignore_dot_and_dot_dot
+ || !basename_is_dot_or_dotdot (files[i].name)))
{
if (files[i].name[0] == '/' || dirname[0] == 0)
{