From: Ulrich Drepper Date: Wed, 5 Jan 2000 20:49:54 +0000 (+0000) Subject: (process_entry): Cache object dev/inode only for directories. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=045cb2cf97f3ea4364b0ab74108eb678602f03f9;p=thirdparty%2Fglibc.git (process_entry): Cache object dev/inode only for directories. --- diff --git a/io/ftw.c b/io/ftw.c index f1e2fd991a6..3428fcf345e 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 , 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;