about summary refs log tree commit diff
path: root/io
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-01-05 20:49:52 +0000
committerUlrich Drepper <drepper@redhat.com>2000-01-05 20:49:52 +0000
commiteb7c2001aaece98f2d80249cb526381a57d2be1b (patch)
tree451d9522681d39b70c4d83504abb735087a9e5c5 /io
parent7abbb474e75d07611bbc62d32b24135027cdf48e (diff)
downloadglibc-eb7c2001aaece98f2d80249cb526381a57d2be1b.tar.gz
glibc-eb7c2001aaece98f2d80249cb526381a57d2be1b.tar.xz
glibc-eb7c2001aaece98f2d80249cb526381a57d2be1b.zip
Update.
	* io/ftw.c (process_entry): Cache object dev/inode only for
	directories (PR libc/1514).

2000-01-05  Andreas Schwab  <schwab@suse.de>

	* locale/programs/charmap.c (charmap_read): Fix typo.

2000-01-05  Ulrich Drepper  <drepper@cygnus.com>

	* locale/programs/charset.c: Removed.
Diffstat (limited to 'io')
-rw-r--r--io/ftw.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/io/ftw.c b/io/ftw.c
index f1e2fd991a..3428fcf345 100644
--- a/io/ftw.c
+++ b/io/ftw.c
@@ -1,5 +1,5 @@
 /* File tree walker functions.
-   Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
 
@@ -288,12 +288,12 @@ process_entry (struct ftw_data *data, struct dir_data *dir, const char *name,
       && (flag == FTW_NS
 	  || !(data->flags & FTW_MOUNT) || st.st_dev == data->dev))
     {
-      if ((data->flags & FTW_PHYS) || flag == FTW_NS
-	  || (!find_object (data, &st)
-	      /* Remember the object.  */
-	      && (result = add_object (data, &st)) == 0))
+      if (flag == FTW_D)
 	{
-	  if (flag == FTW_D)
+	  if ((data->flags & FTW_PHYS)
+	      || (!find_object (data, &st)
+		  /* Remember the object.  */
+		  && (result = add_object (data, &st)) == 0))
 	    {
 	      result = ftw_dir (data, &st);
 
@@ -325,10 +325,10 @@ process_entry (struct ftw_data *data, struct dir_data *dir, const char *name,
 		    }
 		}
 	    }
-	  else
-	    result = (*data->func) (data->dirbuf, &st, data->cvt_arr[flag],
-				    &data->ftw);
 	}
+      else
+	result = (*data->func) (data->dirbuf, &st, data->cvt_arr[flag],
+				&data->ftw);
     }
 
   return result;