diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2005-05-20 22:34:44 +0000 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2005-05-20 22:34:44 +0000 |
commit | 8cc757279d2780cbaf70c10b8a462a5bff9a68e5 (patch) | |
tree | aa90b41d78939d0bc2c1b992d683bba2894e2047 | |
parent | 6ee204542857d793f70667b6a4f26d6b971f8255 (diff) | |
download | coreutils-8cc757279d2780cbaf70c10b8a462a5bff9a68e5.tar.xz |
Split fts into LGPL'ed and GPL'ed parts.
-rw-r--r-- | lib/ChangeLog | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/lib/ChangeLog b/lib/ChangeLog index 25787cd0d..4971a47f0 100644 --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,3 +1,34 @@ +2005-05-20 Paul Eggert <eggert@cs.ucla.edu> + + * fts.c: Don't include "cycle-check.h" or "hash.h". + (setup_dir, free_dir): New functions. + (enter_dir, leave_dir): Define trivial + alternatives of _LGPL_PACKAGE. Move to fts-cycle.c if !_LGPL_PACKAGE. + (HT_INITIAL_SIZE, ENTER_DIR): Remove. All uses removed. + (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir. + (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir): + Move to fts-cycle.c. + (fts_open): Use setup_dir. + (fts_close): Use free_dir. + (fts_read): Have just one copy of the ENTER_DIR code rather than three. + This adds a label and some gotos, but the alternatives were messier. + Check for memory allocation failure when entering a dir. + (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code. + * fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro. + (FTS): New member fts_cycle, that is a union that contains the + old active_dir_ht and cycle_state. All uses changed to mention + fts_cycle.ht and fts_cycle.state. + * fts-cycle.c: New file, containing GPL'ed code migrated out of + fts.c, with the following changes: + (setup_dir, free_dir): New functions. + (enter_dir): Now returns bool. Return true if successful, false + if memory exhausted. All callers changed. + Do not bother partly cleaning up on + memory allocation failure; that is free_dir's job. + However, free ad if hash_insert fails, to avoid memory leak. + (enter_dir, leave_dir): Accommodate change to FTS by inspecting + fts->fts_options to see which union member to use. + 2005-05-20 Jim Meyering <jim@meyering.net> * fts.c (fts_open): Remove useless but otherwise harmless malloc call. |