cvsimport
[findutils.git] / ChangeLog
Commit [+]AuthorDateLineData
70e76229 jay2008-03-21 14:16:55 +000012008-03-21 James Youngman <jay@gnu.org>
2
3 * find/testsuite/find.gnu/xtype-symlink.exp: Removed unnecessary
4 test code which created a insecure tempfile.
5
1686c802 jay2008-03-16 20:44:13 +000062008-03-16 James Youngman <jay@gnu.org>
7
081f845e jay2008-03-16 22:29:02 +00008 Update gnulib.
9 * import-gnulib.config (gnulib_version): Update to a newer version
10 of gnulib.
1686c802 jay2008-03-16 20:44:13 +000011
081f845e jay2008-03-16 22:29:02 +000012 Find optimises at -O2 by default.
1686c802 jay2008-03-16 20:44:13 +000013 * find/util.c (set_option_defaults): Use a default optimisation
14 level of 2 rather than 0.
15 * NEWS: Mention this change.
16
081f845e jay2008-03-16 22:29:02 +000017 Begin work on findutils-4.5.x.
18 * configure.ac: We're now working on the 4.5.x release series, so
19 change the version number.
20 * NEWS: Likewise.
21
c6806a61 jay2008-03-10 20:33:34 +0000222008-03-10 Justin Pryzby <justinpryzby@users.sourceforge.net> (tiny change)
23
24 * doc/find.texi: Various typo corrections.
25
55e8aaf8 ericb2008-03-10 12:06:11 +0000262008-03-10 Eric Blake <ebb9@byu.net>
27
28 Don't truncate printed ino values. Fixes Savannah bug #15472.
29 * find/find.c (wd_sanity_check): Use PRIuMAX for platforms with
30 64-bit ino_t.
31 * NEWS: Document this.
32
33f3566e jay2008-03-10 09:39:29 +0000332008-03-10 Jim Meyering <meyering@redhat.com>
34
35 Rename local and member "dirfd" to avoid shadowing the function.
36 This avoids many warnings from gcc -Wshadow:
37 * lib/buildcmd.h (struct buildcmd_state) [dir_fd]: Rename member
38 from dirfd.
39 * find/defs.h (struct exec_val) [dir_fd]: Likewise.
40 Rename parameter in prototype.
41 * find/ftsfind.c (inside_dir): Rename parameter: s/dirfd/dir_fd/
42 * find/parser.c (new_insert_exec_ok, insert_exec_ok): Likewise.
43 * find/pred.c (new_impl_pred_exec, prep_child_for_exec, launch):
44 s/dirfd/dir_fd/
45 * find/util.c (do_complete_pending_execdirs): Likewise.
46 (complete_pending_execdirs): Likewise
47 * lib/buildcmd.c (bc_init_state, bc_clear_args): Likewise.
48 * lib/dircallback.c (run_in_dir): Likewise.
49 * lib/dircallback.h (DIRCALLBACK_H): Likewise.
50 * lib/listfile.c (list_file, get_link_name_at): Likewise.
51 * lib/listfile.h (LISTFILE_H): Likewise.
52
088f1d84 jay2008-03-10 09:41:44 +000053 Avoid link failure with -fno-common.
54 * locate/code.c (program_name): Declare "extern".
55e8aaf8 ericb2008-03-10 12:06:11 +000055
59bd26d8 jay2008-03-09 11:31:52 +0000562008-03-09 James Youngman <jay@gnu.org>
57
58 Fix (documentation) bug #20873, / and . in file names for -path.
59 * doc/find.texi (Full Name Patterns): Mention that * in the "find
60 -path" pattern will match both / and leading dots.
61
9f7f25d3 jay2008-03-08 21:38:25 +0000622008-03-08 Jim Meyering <meyering@redhat.com>
55e8aaf8 ericb2008-03-10 12:06:11 +000063
9f7f25d3 jay2008-03-08 21:38:25 +000064 Fix doc typos.
55e8aaf8 ericb2008-03-10 12:06:11 +000065 * doc/find-maint.texi (Security): s/ongest/longest/
66 (Making Releases): s/the the/the/
43c0650c jay2008-03-09 11:16:36 +000067
68 Avoid link failure with gcc -fno-common.
69 * find.c (program_name, starting_desc): Declare "extern".
55e8aaf8 ericb2008-03-10 12:06:11 +000070
f08b4f40 ericb2008-02-15 14:43:24 +0000712008-02-15 Eric Blake <ebb9@byu.net>
72
73 Avoid compiler warnings.
74 * find/pred.c (pred_name_common): Remove unused variable.
75 * locate/locate.c (print_stats): Avoid undefined format string.
76
e1d9f26c jay2008-02-15 08:55:51 +0000772008-02-15 James Youngman <jay@gnu.org>
78
124111d5 jay2008-02-15 08:58:33 +000079 * README-CVS: Explain how to update the translations from the
80 translation project.
81
e1d9f26c jay2008-02-15 08:55:51 +000082 * NEWS, configure.ac: Change release number to 4.3.14-CVS.
83
dfcf3a45 jay2008-02-13 23:52:04 +0000842008-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> (tiny change)
85
86 * import-gnulib.config: Add progname.
87
88 * lib/Makefile.am (LDADD): Use @LIBINTL@ instead of @INTLLIBS@.
89
f08b4f40 ericb2008-02-15 14:43:24 +000090 * xargs/xargs.1: Fix a couple of typos.
dfcf3a45 jay2008-02-13 23:52:04 +000091
6cd2945e jay2008-02-12 12:00:32 +0000922008-02-12 James Youngman <jay@gnu.org>
93
5626a976 jay2008-02-12 12:35:13 +000094 Updated translations: German, Irish, Dutch, Polish, Vietnamese.
95 * po/de.po, po/ga.po, po/nl.po, po/pl.po, po/vi.po: Updated from
96 the Translation Project.
97
f08b4f40 ericb2008-02-15 14:43:24 +000098 Fix Savannah bug #22056, -Xtime tests are off by one second.
6cd2945e jay2008-02-12 12:00:32 +000099 * find/defs.h (struct options): Change cur_day_start from time_t
100 to strct timespec.
101 * find/util.c (set_option_defaults): Likewise.
102 * find/parser.c (get_relative_timestamp): Change the origin
103 argument from time_t to struct timespec.
104 (estimate_timestamp_success_rate): Ignore the nanoseconds field of
105 the timestamp when estimating the probable success rate.
106 (parse_daystart): Handle the nanoseconds field too.
107 (do_parse_xmin): The origin argument to get_relative_timestamp()
108 is of type struct timespec, not time_t.
109 (parse_used): Likewise.
110 (parse_time): Likewise.
f62cd19f jay2008-02-12 12:17:48 +0000111 * find/pred.c (pred_timewindow): in the COMP_EQ case, accept times
112 exactly at the end of the window and do not accept times exactly
113 at the start (reversing the previous treatment of the bounds).
6cd2945e jay2008-02-12 12:00:32 +0000114 * find/testsuite/Makefile.am (EXTRA_DIST_EXP): Added test for
115 -mtime 0; find.posix/mtime0.{exp,xo}.
116 * NEWS: mention this bugfix.
117
c55ea548 jay2008-02-09 10:36:21 +00001182008-02-09 James Youngman <jay@gnu.org>
f9404b1d jay2008-02-09 10:16:32 +0000119
af9db072 jay2008-02-09 10:58:20 +0000120 * doc/find.texi (xargs options): Moved documentation of xargs'
121 options into this new section.
122 (Invoking the shell from xargs): New section providing examples
123 about "xargs sh -c '...'".
124
125 * xargs/xargs.1: Indicate that the "sh -c" trick with xargs
126 achieves the same thing as BSD's "xargs -o", but in a more
127 flexible way.
128
f9404b1d jay2008-02-09 10:16:32 +0000129 * locate/updatedb.sh: Actually rename the old database to the new
130 one atomically, instead of just claiming the rename is atomic in a
131 comment :) This fixes Savannah bug #22057.
132
636fa9fe jay2008-02-09 10:40:33 +0000133 * find/find.c (ngettext): Introduce a new macro to help with
134 internationalising plurals. Use it to allow better
f08b4f40 ericb2008-02-15 14:43:24 +0000135 translations of format strings.
636fa9fe jay2008-02-09 10:40:33 +0000136 * locate/locate.c: Likewise.
137
db9d9f76 jay2008-01-07 01:23:48 +00001382008-01-07 James Youngman <jay@gnu.org>
139
140 * xargs/xargs.c: (main): Standardise on "Warning" instead of
141 "warning" in messages.
142
143 * xargs/xargs.c: (add_proc): Use x2nrealloc to extend the pids
144 array, rather than doubling the size of the buffer (since the old
145 aproach was vulnerable to overflow).
146
147 Reap all available child processes before every fork. This fixes
148 Savannah bug #21960.
149 * xargs/xargs.c: (proc_max): since this is a non-negative
150 quantity, make it unsigned.
151 (procs_executing): Likewise.
152 (pids_alloc): Likewise (using size_t).
153 (procs_executed): In order to prevent possible overflow, make this
154 a boolean, not a count. We only cared if the previous counter was
155 zero or not, anwyay.
156 (add_proc): Set procs_executed to true rather than incrementing it.
157 (wait_for_proc): When called, always reap all available children.
158 Add an extra argument which is the minimum number of children we
159 must reap before returning.
160 (wait_for_proc_all): Pass the new extra argument.
161 (xargs_do_exec): Call wait_for_proc() to reap all available
162 children before forking a new child. Modify other calls to
163 wait_for_proc to pass the new extra argument.
70648148 jay2008-02-14 10:47:49 +0000164 * NEWS: Mention this change.
db9d9f76 jay2008-01-07 01:23:48 +0000165
e8464427 jay2007-12-20 21:53:54 +00001662007-12-20 James Youngman <jay@gnu.org>
167
168 * find/fstype.c, find/ftsfind.c, find/parser.c, find/pred.c,
169 find/tree.c, lib/regextype.c, locate/locate.c, xargs/xargs.c,
f08b4f40 ericb2008-02-15 14:43:24 +0000170 find.c: Backed out positional paremeter change, as the use of
e8464427 jay2007-12-20 21:53:54 +0000171 positional parameters was over-complex and unnecessary. We'll
172 re-apply the pluralisation support change soon, but without the
173 positional parameters.
174
6db620ab jay2007-12-20 10:10:59 +00001752007-12-20 Jakub Bogusz <qboosh@pld-linux.org> (tiny change)
176
177 * xargs/xargs.c (parse_num): Corrected typo in format string
178 message.
179
a0ce354e jay2007-12-20 10:05:44 +00001802007-12-20 Clytie Siddall <clytie@riverland.net.au> (tiny change)
181
182 * find/find.c (wd_sanity_check): Corrected typo in the format
183 string for an error message, which might cause a crash in
184 "oldfind" if a directory we moved into turned out to be a symbolic
f08b4f40 ericb2008-02-15 14:43:24 +0000185 link that moved while we were trying to change directory.
a0ce354e jay2007-12-20 10:05:44 +0000186
53c18eaa jay2007-12-20 10:03:36 +00001872007-12-20 James Youngman <jay@gnu.org>
188
189 * configure.ac: Advance the version number, as we are moving on
f08b4f40 ericb2008-02-15 14:43:24 +0000190 from 4.3.12.
53c18eaa jay2007-12-20 10:03:36 +0000191 * NEWS: Likewise
192
a78c4a90 jay2007-12-19 21:16:32 +00001932007-12-19 James Youngman <jay@gnu.org>
194
f08b4f40 ericb2008-02-15 14:43:24 +0000195 * find/find.c (ngettext): Introduce a new macro to help with
a78c4a90 jay2007-12-19 21:16:32 +0000196 internationalising plurals. Use it with positional parameters in
197 order to allow better translations of format strings.
198 * find/fstype.c, find/ftsfind.c, find/parser.c, find/pred.c,
199 find/tree.c, lib/regextype.c, locate/locate.c, xargs/xargs.c: Likewise.
f08b4f40 ericb2008-02-15 14:43:24 +0000200
9b2f488f jay2007-12-19 19:54:51 +00002012007-12-19 Benno Schulenberg <coordinator@translationproject.org> (tiny change)
a78c4a90 jay2007-12-19 21:16:32 +0000202
9b2f488f jay2007-12-19 19:54:51 +0000203 * find/find.1: Corrected two typos.
204
203aa5f4 jay2007-12-19 10:20:32 +00002052007-12-19 James Youngman <jay@gnu.org>
206
207 * po/nl.po: Updated Dutch translation from the Translation project.
208 * po/pl.po: Likewise for the Polish translation.
209 * po/sv.po: Likewise for the Swedish translation.
210 * po/vi.po: Likewise for the Vietnamese translation.
211
86a12d77 ericb2007-12-13 14:29:43 +00002122007-12-13 Eric Blake <ebb9@byu.net>
213
214 Allow bootstrapping with autoconf 2.61a.
215 * configure.ac (AC_AIX, AC_ISC_POSIX): Delete, now that gnulib
216 takes care of this.
217 (jy_AC_TYPE_INTMAX_T): Delete, now that gnulib stdint module takes
218 care of this.
219
dfcb4010 jay2007-12-09 16:24:49 +00002202007-12-09 James Youngman <jay@gnu.org>
221
73dfa952 jay2007-12-09 23:10:25 +0000222 * doc/perm.texi: Updated from the upstream source.
223
e1a821c5 jay2007-12-09 23:11:54 +0000224 * po/nl.po, po/pt.po: Updated from the Translation Project.
dfcb4010 jay2007-12-09 16:24:49 +0000225
1923886a jay2007-12-08 13:23:11 +00002262007-12-08 James Youngman <jay@gnu.org>
227
4cd51cb6 jay2007-12-08 13:26:50 +0000228 * xargs/xargs.1: Added examples on stdin handling and more
229 efficient core file deletion.
230 * NEWS: Mention this.
231
1923886a jay2007-12-08 13:23:11 +0000232 * doc/.cvsignore: Ignore regexprops-generic.texi.
233 * doc/.gitignore: ditto
234
1938b72d jay2007-12-04 01:03:20 +00002352007-12-04 James Youngman <jay@gnu.org>
236
fe0ea843 jay2007-12-04 01:26:55 +0000237 Fix Savannah bug #15384, find misbehaves when parent directory is
238 not readable.
239 * find/testsuite/find.posix/parent.exp: New test
240 * find/testsuite/find.posix/parent.xo: New test
241 * find/testsuite/Makefile.am (EXTRA_DIST_EXP, EXTRA_DIST_XO):
242 Added parent.exp, parent.xo.
243 * find/find.c (safely_chdir): If safely_chdir_nofollow fails with
244 SafeChdirFailDestUnreadable, fall back on safely_chdir_lstat.
245
1938b72d jay2007-12-04 01:03:20 +0000246 * find/find.1: Formatting fixes; options should be in bold.
247
ece8b9e9 jay2007-12-02 11:43:22 +00002482007-12-02 James Youngman <jay@gnu.org>
249
250 Fix Savannah bug #20802, find -delete anomalies
251 * find/pred.c (pred_delete): Set find's exit status to nonzero if
252 -delete fails.
253 * find/find.1 (-delete): Document this.
254 * doc/find.texi (Delete Files): Document this.
255 * NEWS: Mention the fix.
256
a1ab6a64 jay2007-11-30 10:24:36 +00002572007-11-30 James Youngman <jay@gnu.org>
258
259 Fix Savannah bug #20865 (-prune -delete without an explicit
260 -depth is now an error).
261 * find/parser.c (check_option_combinations): Diagnose the
262 situation where -delete and -prune are both used, because -delete
263 turns on -depth and -depth makes -prune do nothing.
264 * find/tree.c (build_expression_tree): call
265 check_option_combinations().
266 * find/defs.h (struct options): Add new boolean field
267 explicit_depth.
268 Also declare check_option_combinations.
269 * find/util.c (set_option_defaults): Initialise explicit_depth.
270 * NEWS: Mention this fix.
271
aa36245d jay2007-11-29 10:47:43 +00002722007-11-29 James Youngman <jay@gnu.org>
273
14ce2f3c jay2007-11-29 11:17:14 +0000274 Support the generation of regexprops-generic.texi.
275 * lib/regextype.h (get_regex_type_context): Used to indicate if a
276 particular type of regular expression is of interest for
277 regexprops.texi (which is findutils-specific) or
278 regexprops-generic.texi (which is not). The "context" is simply
279 a flag set in a word.
280 * lib/regextype.c (get_regex_type_context): Implement this.
281 (regex_map): Assign a context to each regular expression type.
282 * lib/regexprops.c: Use the context information from regextype.c
283 to decide which regular expression types to docuemnt in the
284 output. The selection is indicated on the command line; "generic"
285 and "findutils" are supported.
286 (copying): New function, which emits a copyright header into the
287 output.
288 (comment): New function for emitting a comment.
289 (ignore): New function which returns nonzero when the indicated
290 type of regular expression is not of interest for this version of
291 the document.
292 (menu): Miss out the non-interesteing regex types.
293 (get_next): Returns the regex type name for the "next" pointer,
294 taking into account which regex types are ignored.
295 (describe_all): Take into account which regex types are ignored,
296 and emit a copying header also. Include a comment indicating
297 which "context" was of interest when generating the output.
298 * doc/Makefile.am: Add regexprops-generic.texi. Generate this
299 file from regexprops.c.
300
f619bdc3 jay2007-11-29 11:07:18 +0000301 Check gnulib out with native git, rather than git-cvspserver.
302 This fixes Savannah bug #21568, for the second time.
303 * import-gnulib.config (gnulib_version): Switch to using a git
304 commit id and native git, since git-cvspserver silently fails to
305 support "cvs update -D".
306 * import-gnulib.sh (do_checkout): Check gnulib out with git rather
307 than CVS.
308 (main): Require 'git' to be available.
309 (move_cvsdir): Remove any pre-existing gnulib-cvs directory.
310 * doc/find-maint.texi (Using the GNU Portability Library): Desribe
311 how we now obtain gnulib. Update the instructions on how we patch
312 gnulib.
313 * .gitignore: Ignore gnulib-git, not gnulib-cvs
314 * .cvsignore: Ditto
315 * Makefile.am (findutils-check-smells): Change from gnulib-cvs to
f08b4f40 ericb2008-02-15 14:43:24 +0000316 gnulib-git.
f619bdc3 jay2007-11-29 11:07:18 +0000317 * README-CVS: Mention the extra dependency on git.
318 * NEWS: Mention this change.
319
aa36245d jay2007-11-29 10:47:43 +0000320 Add test case for Savannah bug #20803 (-prune return value).
321 * find/testsuite/find.posix/prune-result.exp: New test for
322 Savannah bug #20803.
323 * find/testsuite/find.posix/prune-result.xo: Expected otuput for
324 new test prune-result.exp.
325 * find/testsuite/Makefile.am (EXTRA_DIST_EXP): Added
326 find.posix/prune-result.exp
327 (EXTRA_DIST_XO): Added find.posix/prune-result.xo
328
39829cd7 jay2007-11-27 20:50:18 +00003292007-11-27 James Youngman <jay@gnu.org>
330
331 * find/pred.c (pred_prune): Always return true. This fixes
332 Savannah bug #20803.
333 * doc/find.texi (Directories): Document the change to -prune.
334 * find/find.1: Document the change.
335 * NEWS: Mention the fix.
336
6a0ce17f jay2007-11-26 10:26:01 +00003372007-11-26 James Youngman <jay@gnu.org>
338
d8e46e3a jay2007-11-26 10:37:40 +0000339 Fix Savannah bug #20970, handling of trailing slashes with -name.
340 * find/pred.c (pred_name_common): Strip trailing slashes from the
341 pathname before applying fnmatch() to it. This fixes Savannah bug
342 #20970.
343 * find/testsuite/find.posix/nameslash.exp: Test case for bug #20970.
344 * find/testsuite/find.posix/nameslash.xo: Expected output file for
345 same.
346 * find/testsuite/Makefile.am (EXTRA_DIST_EXP): Added nameslash.exp.
347 (EXTRA_DIST_XO): Added nameslash.xo.
348
c0b08b9b jay2007-11-26 10:27:59 +0000349 Fix Savannah bug #21634, No copy of FDL1.2 included in source
350 code.
351 * doc/find.texi: Change license to the GNU Free Documentation
352 License 1.2.
353 (GNU Free Documentation License): Include fdl.texi
354 * doc/find-maint.texi (GNU Free Documentation License): Include a
355 copy of the FDL (it was already under this license).
356 * doc/Makefile.am (find_maint_TEXINFOS): Include fdl.texi
357 (find_TEXINFOS): Include fdl.texi
358 * import-gnulib.config (modules): Include gpl-3.0 and fdl.
359
6a0ce17f jay2007-11-26 10:26:01 +0000360 * doc/perm.texi: Added copyright license, following the license of
361 the original source document (perm.texi from coreutils).
362
09ef63fd jay2007-11-25 11:36:10 +00003632007-11-25 James Youngman <jay@gnu.org>
364
fd953b8d jay2007-11-25 11:41:01 +0000365 * Makefile.am (jy-regex-fix): Comment that the regex.c fix needs
366 to stay until we no longer support Automate-1.9.
367
09ef63fd jay2007-11-25 11:36:10 +0000368 * doc/perm.texi (Mode Structure): Fix setgid/setuid typo.
369
3702007-11-24 James Youngman <jay@gnu.org>
371
372 * doc/find.texi (Mode Bits): Correct the warning about the change
373 in behaviour of -perm /000 to indicate that the change has
374 happened now. This fixes Savannah bug #21628.
375 * NEWS: Mention this.
376
3772007-11-22 James Youngman <jay@gnu.org>
378
379 POSIXLY_CORRECT turns off warnings.
380 * find/defs.h (struct options): Added member posixly_correct.
381 This is set when the POSIXLY_CORRECT environment variable is set.
382 * find/util.c (set_option_defaults): Set options.posixly_correct
383 if the POSIXLY_CORRECT environment variable is set.
384 (set_option_defaults): Turn off warnings when POSIXLY_CORRECT is
385 in force.
386 * find/find.1: Document this.
387 (Environment Variables): Likewise.
388 (Warning Messages): Likewise.
389
390 Non-POSIX compliant arguments to -perm generate an error when
391 POSIXLY_CORRECT is set.
392 * find/parser.c (parse_table): Indicate which primaries are
393 defined by POSIX.
394 (non_posix_mode): New function; issues an error message when a
395 non-POSIX-compliant argument to -perm is used (and POSIXLY_CORRECT
396 is in force).
397 (parse_perm): Call non_posix_mode when a non-POSIX-compliant mode
398 argument is seen.
399 * find/testsuite/find.gnu/posix-perminvalid.exp: New file; tests
400 invalid arguments to -perm.
401 * find/testsuite/Makefile.am (EXTRA_DIST_EXP): Add
86a12d77 ericb2007-12-13 14:29:43 +0000402 posix-perminvalid.exp.
09ef63fd jay2007-11-25 11:36:10 +0000403 * find/find.1: Document this.
404 * doc/find.texi (Mode Bits): Likewise
405 (Environment Variables): Likewise
406
407
408 * xargs/xargs.1: Options should be bold, not italic; filenames
409 should also be italic. OPTIONS should be a section, not a
410 subsection. In the description of --max-lines, "max-args" was
411 corrected to "max-lines". Turn off hyphenation in the SYNOPSIS
86a12d77 ericb2007-12-13 14:29:43 +0000412 section. This fixes Savannah bug #21270.
09ef63fd jay2007-11-25 11:36:10 +0000413
4142007-11-13 James Youngman <jay@gnu.org>
415
416 * NEWS, configure.ac: Prepare for the release of findutils-4.3.10.
417
418 * import-gnulib.sh (usage): If the existing CVS working tree for
419 gnulib in the source tree does not yet point at the
420 git-cvs-pserver repository, move the old gnulib working tree out
421 of the way and do a fresh checkout. This fixes Savannah bug
86a12d77 ericb2007-12-13 14:29:43 +0000422 #21568.
09ef63fd jay2007-11-25 11:36:10 +0000423
4242007-11-11 James Youngman <jay@gnu.org>
425
426
427 * configure.ac: Prepared for release of findutils-4.3.9.
428 * NEWS: Likewise.
429
430 * po/POTFILES.in: Use gnulib/lib/getdate.y rather than
431 gnulib/lib/getdate.c, because the former is the source file, and
432 because without this change the update-po target of po/Makefile
86a12d77 ericb2007-12-13 14:29:43 +0000433 fails.
09ef63fd jay2007-11-25 11:36:10 +0000434
435 * import-gnulib.config (gnulib_version): Move to gnulib
86a12d77 ericb2007-12-13 14:29:43 +0000436 2007-11-10.
09ef63fd jay2007-11-25 11:36:10 +0000437
438 * po/hu.po, po/nl.po: Updated from Translation Project.
439
4402007-09-08 James Youngman <jay@gnu.org>
441
442 Better documentation on $PATH security checks.
443 * doc/find.texi (Single File): Better explanation of what makes
444 certain values of $PATH insecure. This fixes Savannah bug
445 #20951.
446 * find/find.1 (-execdir): Likewise.
447
448 Document interaction of -depth/-delete/-prune.
449 * doc/find.texi (Directories): Mention that "-prune ... -delete"
450 will not do what you want and will cause the deletion of more
451 files than you probably intended.
452 (Delete Files): Likewise, suggest using "-depth" when testing
453 command lines you plan to eventually add "-delete" to.
454 (Cleaning Up): Add -depth explicitly to an example which uses
86a12d77 ericb2007-12-13 14:29:43 +0000455 -delete.
456 * find/find.1 (-depth): Mention that -delete also implies -depth.
09ef63fd jay2007-11-25 11:36:10 +0000457 (-delete): Warn against putting -delete first.
458 (-prune): Also warn against -prune ... -delete.
459 NEWS: Mention these changes.
460
4612007-08-23 Eric Blake <ebb9@byu.net>
462
463 Pick up gnulib change to getline module.
464 * import-gnulib.config (gnulib_version): Bump date.
465 * locate/bigram.c: Use <stdio.h>, not getline.h.
466 * locate/code.c: Likewise.
467 * locate/frcode.c: Likewise.
468 * locate/locate.c: Likewise.
469
470 * po/ChangeLog: Delete, merge into this file.
471
4722007-08-23 James Youngman <jay@gnu.org>
473
474 * po/nl.po: Updated from Translation Project
475
476 * find/parser.c (check_path_safety): Assume the path is safe is
477 $PATH is not set. This avoids a segfault in that situation
478 and thus fixes Savannah bug #20834.
479
4802007-08-22 James Youngman <jay@gnu.org>
481
482 * find/parser.c (parse_path): This is the 'canonical' name once
86a12d77 ericb2007-12-13 14:29:43 +0000483 again.
09ef63fd jay2007-11-25 11:36:10 +0000484 (parse_wholename): This is not.
485 (parse_ipath): No longer deprecated.
486 * NEWS: Mention this.
487
4882007-08-22 Eric Blake <ebb9@byu.net>
489
490 Fix Savannah bug #20871.
491 * find/find.c (main): Remove bogus assertion.
492 * NEWS: Document the fix.
493
494 Update to recent gnulib addition of idcache.h.
495 * lib/listfile.c (getuser, getgroup): Use header rather than
496 declaring things ourself.
497 * po/POTFILES.in (locate/frcode.c): Add missing file.
498
4992007-08-21 Eric Blake <ebb9@byu.net>
500
501 Fix for Savannah bug #20273, find -ok with seekable stdin.
502 * find/find.c (main): Use close_stdin, not close_stdout.
503 * import-gnulib.config (gnulib_version): Pick up yesno tests.
504 * NEWS: Document the change.
505 * build-aux/.cvsignore: Ignore compile.
506
5072007-08-20 Paul Eggert <eggert@cs.ucla.edu>
508 and Eric Blake <ebb9@byu.net>
509
510 Improve translation of xstrtol messages.
511 * import-gnulib.config (destdir): Upgrade gnulib to 2007-08-11.
512 * locate/locate.c (dolocate): Adjust to API change of xstrtol
513 gnulib module.
514 * po/POTFILES.in: Likewise.
515 * NEWS: Document the enhancement.
516
5172007-08-20 James Youngman <jay@gnu.org>
518
519 * doc/find.texi (Directories): Clarify that built commands which
520 have not been executed yet will be executed before find quits,
521 even with -quit. Also clarify the difference between -prune and
522 -quit.
523
5242007-08-18 Eric Blake <ebb9@byu.net>
525
526 Fix Savannah bug #20751.
527 * lib/listfile.c (list_file): Accomodate gnulib change of 3 Jul
528 2006.
529 * NEWS: Document this.
530 Reported by Nigel Stepp.
531 * THANKS: Sort and update.
532 * AUTHORS: Add myself.
533
5342007-08-05 Eric Blake <ebb9@byu.net>
535
536 Fix Savannah bugs #20662, #20688.
537 * find/find.c (at_top): Avoid memory leak.
538 * find/pred.c (do_fprintf, pred_iname, pred_name): Likewise.
539 (pred_name_common): New function, factored from pred_iname and
540 pred_name.
541 * find/parser.c (check_name_arg): Let -nowarn silence -name /.
542 * locate/locate.c (visit_basename): Avoid memory leak.
543 * NEWS: Document the changes.
544 * doc/find.texi (Warning Messages): Document -nowarn's effect on
545 -name and -iname.
546 * find/testsuite/find.gnu/name-slash.exp: New test, to ensure
547 20662 doesn't regress on '-name /', and that 20688 silences the
548 warning.
549 * find/testsuite/find.gnu/printf-slash.exp: Likewise.
550 * find/testsuite/find.gnu/name-slash.xo: Expected results.
551 * find/testsuite/find.gnu/printf-slash.xo: Likewise.
552 * find/testsuite/Makefile.am (EXTRA_DIST_XO, EXTRA_DIST_EXP):
553 Distribute new tests.
554
5552007-07-31 Eric Blake <ebb9@byu.net>
556
557 Allow choice of default arg size, Savannah bug #20594.
558 * configure.ac (DEFAULT_ARG_SIZE): Check environment for a default
559 size override.
560 * lib/buildcmd.c (bc_use_sensible_arg_max): Use default size from
561 configure, if requested.
562 * README (DEFAULT_ARG_SIZE): Mention the ability to tune this at
563 configure time.
564 * NEWS: Document the change.
565
5662007-07-29 James Youngman <jay@gnu.org>
567
568 * po/tr.po: Updated from Translation Project.
569
5702007-07-26 Eric Blake <ebb9@byu.net>
571
572 * doc/.cvsignore: Ignore more generated documentation.
573
5742007-07-23 Eric Blake <ebb9@byu.net>
575
576 * find/parser.c (parse_version): Avoid compiler warning.
577 * locate/code.c (includes): Likewise.
578
5792007-07-22 Eric Blake <ebb9@byu.net>
580
581 * po/POTFILES.in: Add lib/findutils-version.c.
582
5832007-07-22 James Youngman <jay@gnu.org>
584
585 * find/find.1: Corrected a number of typos and fixed up the
586 alphabetical section ordering. This fixes Savannah bug #20552.
587
588 Version banners now comply with the GNU coding standard.
589 * find/parser.c (parse_version): Use display_findutils_version()
590 instead of printing the information manually. Don't include
591 gnulib-version.h since we no longer directly use that header.
592 * lib/findutils-version.c: Added
593 * lib/findutils-version.h: Added
594 * import-gnulib.config (modules): Added version-etc and
595 version-etc-fsf.
596 * lib/Makefile.am (libfind_a_SOURCES): added findutils-version.c.
597 * find/version.c: Removed
598 * find/Makefile.am: Remove version.c
599 * locate/Makefile.am: Don't link ../find/version.o
600 * xargs/Makefile.am: Ditto
601 * xargs/xargs.c (main): Use display_findutils_version()
602 * locate/code.c (main): Ditto
603 * locate/frcode.c (main): Ditto
604 * locate/locate.c (dolocate): Ditto
605 * locate/updatedb.sh (version): Display copyright information in
606 the right format. Also ensure that we exit with a nonzero status
607 if there was an output error for --help and --version.
608 * find/testsuite/config/unix.exp (find_version): Adjust for
609 --version format change
610 * locate/testsuite/config/unix.exp (locate_version): Ditto
611 * xargs/testsuite/config/unix.exp (xargs_version): Ditto
612 * NEWS: Mention the change
613
6142007-07-19 Eric Blake <ebb9@byu.net>
615
616 * po/POTFILES.in: Update to reflect current location of
617 translatable strings.
618
6192007-07-17 Eric Blake <ebb9@byu.net>
620
621 Ensure 'make distcheck' can pass on cygwin.
622 * configure.in: Rename...
623 * configure.ac: ...to this, to match automake recommendations.
624 * NEWS: Add release dates.
625 * doc/find-maint.texi: Remove trailing whitespace.
626 (Documentation): Document where release dates are usefully
627 recorded.
628 * locate/Makefile.am (AM_INSTALLCHECK_STD_OPTIONS_EXEMPT): Be
629 aware of .exe.
630 * .cvsignore: Ignore 'make dist' files.
631 * po/.cvsignore: Ignore remove-potcdate.sed.
632
6332007-07-14 Eric Blake <ebb9@byu.net>
634
635 * import-gnulib.config (gnulib_version): Bump date, to pick
636 up fix in canonicalize module testing.
637
6382007-07-06 James Youngman <jay@gnu.org>
639
640 * po/uk.po, po/nl.po, po/vi.po: Updated from Translation Project.
641
6422007-07-04 James Youngman <jay@gnu.org>
643
644 * NEWS: Fixed typos in description of bugfix for bug #20310.
645
6462007-07-03 James Youngman <jay@gnu.org>
647
648 Fix Savannah bug #20310.
649 * m4/nullsort.m4: If we are cross compiling, assume "sort -z" does
650 not work on the target.
651
652 Manpage improvements.
653 * find/find.1: More consistent use of quotation marks.
654 * locate/locate.1 (HISTORY): New section.
655
6562007-07-02 James Youngman <jay@gnu.org>
657
658 * import-gnulib.sh: (run_gnulib_tool): Don't pass --gpl3 to
659 gnulib-tool, since the program does not have that option (that was
660 a local change which proved not to be necessary).
661
662 GPL3 migration.
663 * COPYING: Migrate to version 3 of the GNU General Public license.
664 * Makefile.am: ditto
665 * build-aux/check-testfiles.sh: ditto
666 * build-aux/src-sniff.py: ditto
667 * debian/copyright: ditto
668 * doc/find-maint.texi: ditto
669 * find/defs.h: ditto
670 * find/find.c: ditto
671 * find/finddata.c: ditto
672 * find/fstype.c: ditto
673 * find/ftsfind.c: ditto
674 * find/parser.c: ditto
675 * find/pred.c: ditto
676 * find/testsuite/config/unix.exp: ditto
677 * find/tree.c: ditto
678 * find/util.c: ditto
679 * import-gnulib.config: ditto
680 * import-gnulib.sh: ditto
681 * lib/buildcmd.c: ditto
682 * lib/buildcmd.h: ditto
683 * lib/dircallback.c: ditto
684 * lib/dircallback.h: ditto
685 * lib/extendbuf.c: ditto
686 * lib/extendbuf.h: ditto
687 * lib/forcefindlib.c: ditto
688 * lib/gnulib-version.h: ditto
689 * lib/listfile.c: ditto
690 * lib/listfile.h: ditto
691 * lib/modetype.h: ditto
692 * lib/nextelem.c: ditto
693 * lib/nextelem.h: ditto
694 * lib/printquoted.c: ditto
695 * lib/printquoted.h: ditto
696 * lib/qmark.c: ditto
697 * lib/regexprops.c: ditto
698 * lib/regextype.c: ditto
699 * lib/regextype.h: ditto
700 * lib/savedirinfo.c: ditto
701 * lib/savedirinfo.h: ditto
702 * lib/strspn.c: ditto
703 * lib/wait.h: ditto
704 * lib/waitpid.c: ditto
705 * locate/bigram.c: ditto
706 * locate/code.c: ditto
707 * locate/frcode.c: ditto
708 * locate/locate.c: ditto
709 * locate/locatedb.h: ditto
710 * locate/testsuite/config/unix.exp: ditto
711 * locate/updatedb.sh: ditto
712 * locate/word_io.c: ditto
713 * po/fetch-po-files: ditto
714 * xargs/testsuite/config/unix.exp: ditto
715 * xargs/xargs.c: ditto
716
717 Typo fixes.
718 * doc/find.texi (Deleting Files): Fixed a typo.
719 (Deleting Files): Likewise.
720
721 New worked example for find.
722 * doc/find.texi (Copying A Subset of Files): Added a new worked
723 example.
724
725 * doc/find.texi (Updating A Timestamp File): Indicate that %A@ now
726 includes a sub-second part on many systems.
727
728 Include <fcntl.h> unconditionally.
729 * import-gnulib.config (modules): Also use the fcntl module.
730 * find/find.c: #include <fcntl.h> unconditionally, since
731 gnulib provides it if it is absent.
732 * find/fstype.c: Likewise.
733 * find/ftsfind.c: Likewise.
734 * find/parser.c: Likewise.
735 * find/util.c: Likewise.
736 * locate/locate.c: Likewise.
737
7382007-06-30 Eric Blake <ebb9@byu.net>
739
740 * find/pred.c (pred_timewindow): Avoid gcc warnings.
741 (format_date): Likewise.
742 * find/tree.c (calculate_derived_rates): Likewise.
743 * locate/word_io.c (getword): Likewise.
744
7452007-06-30 James Youngman <jay@gnu.org>
746
747 * find/find.1 (EXAMPLES): Added an example of using find and cpio -p
748 to copy a directory tree, with pruning and omitted files.
749
750 * find/pred.c (format_date): Use verify_true for constant
751 conditions rather than assert.
752 * xargs/xargs.c (main): Ditto.
753
754 Enhancements to the code smell detector.
755 * Makefile.am (findutils-check-smells): Automate the calling of
756 build-aux/src-sniff.py.
757 * build-aux/src-sniff.py: Rework to use a list of regex-based
758 sniffers, to allow checking types of file other than C. Allow
759 file-based regex sniffers to give an indication of the line number
760 where they think the problem (or part of the problem) exists.
761 Added code smell detectors for a sample Bourne shell problem and
762 for out-of-date FSF addresses.
763
764 * find/tree.c (get_pred_cost): Eliminate unused variable.
765
766 Fix Savannah bug #20263 in a more portable way.
767 * find/tree.c (cost_table_comparison): Avoid casting function
768 pointers to poiter-to-object, since this is not portable (or
769 of course conforming). Instead, use memcmp().
770
7712007-06-28 Eric Blake <ebb9@byu.net>
772
773 * import-gnulib.sh (run_gnulib_tool): Speed operation when
774 updating an existing tree.
775
776 Allow 'make check' to work without prior 'make all'.
777 * find/Makefile.am (SUBDIRS): Build in . before testsuite.
778 * locate/Makefile.am (SUBDIRS): Likewise.
779 * xargs/Makefile.am (SUBDIRS): Likewise.
780
781 Fix Savannah bug #20273, xargs -E with seekable stdin.
782 * import-gnulib.config (modules): Sort, add closein.
783 * xargs/testsuite/Makefile.am (EXTRA_DIST_EXP, EXTRA_DIST_XO)
784 (EXTRA_DIST_XI): Add new test.
785 * xargs/testsuite/config/unix.exp (xargs_start): Support optional
786 argument to allow test to run a subshell.
787 * xargs/testsuite/inputs/sv-bug-20273.xi: New file.
788 * xargs/testsuite/xargs.posix/sv-bug-20273.xo: Likewise.
789 * xargs/testsuite/xargs.posix/sv-but-20273.exp: Likewise.
790 * xargs/xargs.c (main): Use close_stdin, not close_stdout.
791 * NEWS: Document the fix.
792
7932007-06-27 James Youngman <jay@gnu.org>
794
795 Added a maintenance manual.
796 * doc/find-maint.texi: New file.
797 * doc/Makefile.am (info_TEXINFOS): Added doc/find-main.texi.
798 * doc/find.texi (Introduction): Fixed typo.
799
8002007-06-26 Eric Blake <ebb9@byu.net>
801
802 * import-gnulib.config (modules): Allow ./configure
803 --disable-assert.
804
8052007-06-26 James Youngman <jay@gnu.org>
806
807 * build-aux/src-sniff.py: Detect uses of struct stat where the
808 header file was not included.
809 * find/find.c: Fix this, and uses of assert without a following
810 space (the coding standard requires a space, but there are still
811 a number of cases where other functions are called with no
812 following space).
813 * find/fstype.c: Ditto.
814 * find/ftsfind.c: Ditto.
815 * find/parser.c: Ditto.
816 * find/pred.c: Ditto.
817 * find/tree.c: Ditto.
818 * find/util.c: Ditto.
819 * lib/buildcmd.c: Ditto.
820 * lib/buildcmd.h: Ditto.
821 * lib/extendbuf.c: Ditto.
822 * locate/frcode.c: Ditto.
823 * locate/locate.c: Ditto.
824 * locate/word_io.c: Ditto.
825 * xargs/xargs.c: Ditto.
826
827 * find/tree.c (cost_table_comparison): Avoid < comparison between
828 function pointer types. Instead cast the function pointers to
829 (const void*). Both alternatives are undefined C, but the former
830 actually fails to compile on some systems. This fixes Savannah
831 bug #20263.
832 * NEWS: mention the fix
833
834 * find/tree.c (calculate_derived_rates): Removed assignment to
835 rate variable following an assert(0) call, which had been added to
836 silence a "used before initialised" warning, and replace it with a
837 call to abort, which (a) correctly halts execution if _NDEBUG is
838 defined and (b) more accurately documents what's happening.
839
840 * find/parser.c (get_stat_Ytime): Removed redundant call to abort.
841
842 * find/util.c (debug_stat): For consistency, use assert (0) rather
843 than assert (false).
844
8452007-06-26 James Youngman <jay@gnu.org>
846
847 * README-alpha: Mention the findutils-patches mailng list and the
848 archives for findutils-patches and bug-findutils.
849
850 * po/bg.po: Updated from Translation Project.
851
8522007-06-25 James Youngman <jay@gnu.org>
853
854 * po/sv.po: Updated Swedish translation.
855
8562007-06-24 James Youngman <jay@gnu.org>
857
858 * build-aux/.gitignore, debian/.gitignore, doc/.gitignore,
859 find/.gitignore, find/testsuite/.gitignore, .gitignore,
860 lib/.gitignore, locate/.gitignore, locate/testsuite/.gitignore,
861 m4/.gitignore, po/.gitignore, xargs/.gitignore,
862 xargs/testsuite/.gitignore: New files to make it more painless to
863 track findutils sources with git.
864
865 * NEWS: Mention the previous change to doc/find.texi.
866
8672007-06-23 James Youngman <jay@gnu.org>
868
869 * doc/find.texi (Introduction): Recommend that people check they
870 are using the latest version before reporting a bug.
871
8722007-06-22 James Youngman <jay@gnu.org>
873
874 Better documentation for the fractional part of seconds fields for
875 -printf and similar actions.
876 * doc/find.texi (Time Components): Point out that the seconds
877 field of the timestamp is often printed out with a fractional part
878 of unspecified length and precision. The '%Tc' field has no
879 seconds part.
880 (Combined Time Formats): Point out the same thing for '%T@'.
881 * find/find.1 (%A): Point out the same thing.
882 * NEWS: Mention these changes.
883
884 Fix various lint-type complaints taken from the rules in the
885 coreutils Makefile.maint file (see build-aux/src-sniff.py).
886 * xargs/xargs.c: Removed unnecessary parentheses in "#if defined"
887 checks.
888 (main): Don't cast the return value of xmalloc.
889 (add_proc): Don't cast the return value of xmalloc.
890 * lib/regextype.c: Don't include quotearg.h, we don't need it.
891 * lib/dircallback.c, lib/nextelem.c, lib/prontquoted.c,
892 lib/qmark.c, lib/strspn.c, lib/waitpid.c: Assume config.h is available.
893 * lib/extendbuf.c: Ditto
894 * lib/listfile.c: Ditto. Also removed unnecessary parentheses in
895 "#if defined" checks.
896 (get_link_name): Don't cast the result of xmalloc.
897 * lib/bigram.c: Removed unnecessary parentheses in "#if defined"
898 checks.
899 * lib/savedirinfo.c: Assume config.h is available. Also removed
900 unnecessary parentheses in "#if defined" checks.
901 * lib/buildcmd.c (bc_do_insert): Don'tcast the result of xmalloc().
902 * find/tree.c (build_expression_tree): Don't cast the argument to free().
903 * find/ftsfind.c (set_close_on_exec): Removed unnecessary
904 parentheses in "#if defined" checks. Also changed "filesystem" ->
905 "file system"
906 * find/util.c (check_nofollow): Removed unnecessary parentheses in
907 "#if defined" checks.
908 * find/parser.c (estimate_fstype_success_rate): ditto.
909 (insert_regex): Do not cast the result of xmaloc(). Removed unnecessary
910 parentheses in "#if defined" checks. Also changed "filesystem" ->
911 "file system"
912 * find/pred.c: ditto
913 * find/find.c: "the the" -> "the", "filesystem" -> "file system"
914 * find/fstype.c: "filesystem" -> "file system" (in comments and
915 static functions)
916 * locate/frcode.c: Removed unnecessary parentheses in "#if
917 defined" checks.
918 * locate/locate.c (search_one_database): Don't cast the return
919 value of xmalloc.
920 (dolocate): Mark error message for translation.
921
9222007-06-21 Eric Blake <ebb9@byu.net>
923
924 * locate/.cvsignore: Ignore dblocation.texi.
925 * build-aux/.cvsignore: Ignore Makefile.
926 * locate/locate.c (set_max_db_age): Fix typo in error message.
927
9282007-06-19 Eric Blake <ebb9@byu.net>
929
930 Fix compilation on cygwin, Savannah bug #20210.
931 * import-gnulib.config (gnulib_version): Import strcasestr and
932 updated canonicalize-lgpl-tests.
933 * lib/dircallback.c (includes): Track gnulib changes.
934
9352007-06-14 James Youngman <jay@gnu.org>
936
937 * find/parser.c (parse_time): Use the variable comp, which holds
938 the planned comparison type, rather than the structure tval, which
939 has not been initialised yet and contains a random value. This
940 fixes Savannah bug #20139.
941 * NEWS: Mention the bugfix.
942
9432007-06-13 James Youngman <jay@gnu.org>
944
945 * po/pl.po: Updated Polish translation.
946
9472007-06-12 James Youngman <jay@gnu.org>
948
949 Release 4.3.8.
950
951 * find/find.1 (HISTORY): Document when the find tests -readable,
952 -writable, -executable and the option -regextype were introduced.
953
9542007-06-12 Nix <nix@esperi.org.uk> (trivial change)
955
956 * locate/locate.c (drop_privs): Use groups[0] rather than
957 groups[1], since groups[] is a one-element array. This is a
958 buffer overrun affecting root only. In theory it could affect
959 setuid installations, but I (James Youngman) cannot find an explot
960 mechanism for it. This fixes Savannah bug#20157.
961 * NEWS: Mention this fix.
962
9632007-06-12 James Youngman <jay@gnu.org>
964
965 Make the test suite work when run as root.
966 * find/testsuite/config/unix.exp (fs_superuser): Abstract out the
967 check which discovers if we have superuser privileges on the
968 filesystem (taken from access.exp).
969 * find/testsuite/find.gnu/access.exp: Call fs_superuser.
970 * find/testsuite/find.gnu/fprint-unwritable.exp: Use fs_superuser.
971
972 * po/vi.po, ga.po, nl.po: Updated translations
973 * po/findutils.pot: Updated template file
974
9752007-06-09 James Youngman <jay@gnu.org>
976
977 Release 4.3.7.
978
979 Check that we can correctly read old-format databases which are
980 big-endian or little endian.
981 * locate/testsuite/config/unix.exp (locate_from_db): New function;
982 supports testing locate against a provided database.
983 * locate/testsuite/locate.gnu/bigendian.exp: New test; make sure
984 we can read an old-format big-endian database.
985 * locate/testsuite/locate.gnu/bigendian.xo: Expected output from
986 bigendian.exp test.
987 * locate/testsuite/locate.gnu/littleendian.exp: New test; make sure
988 we can read an old-format little-endian database.
989 * locate/testsuite/locate.gnu/locateddb.old.powerpc.xi: Old format
990 big endian database file, for supporting bigendian.exp.
991 * locate/testsuite/locate.gnu/littleendian.xo: Expected output from
992 littleendian.exp test.
993 * locate/testsuite/locate.gnu/locateddb.old.x86.xi: Old format
994 little endian database file, for supporting littleendian.exp.
995 * locate/testsuite/Makefile.am: Distribute littleendian.exp,
996 bigendian.exp and related .xi and .xo files.
997
998
999 * doc/find.texi (Size Directives): Compare %b with %s/512, not
1000 %s/1024. This fixes (again) Savannah bug #19596.
1001 * NEWS: mention the fix.
1002
1003 Avoid using the non-portable function putw().
1004 * locate/locatedb.h: Declare putword().
1005 * locate/frcode.c: Include <stdbool.h> as locatedb.h now requires
1006 it.
1007 * locate/code.c (main): Use putword() rather than putw(), because
1008 the latter was removed from SUSv3. This fixes Savannah bug #19980.
1009 Also include <stdbool.h> as locatedb.h now requires this.
1010 * locate/word_io.c (putword): Define the new function putword.
1011
1012 Ensure that <config.h> is included before any system header
1013 * find/defs.h: Do not include <config.h> from "defs.h". Instead
1014 just complain if it was not already included, since it needs to
1015 be included first of all, even before system headers (in case
1016 gnulib had replaced a system header). Check
1017 ALREADY_INCLUDED_CONFIG_H to determine this.
1018 * configure.in: Always define ALREADY_INCLUDED_CONFIG_H in
1019 config.h.
1020 * find/find.c: Include config.h before defs.h.
1021 * find/finddata.c: ditto.
1022 * find/fstfind.c: ditto.
1023 * find/parser.c: ditto.
1024 * find/pred.c: ditto.
1025 * find/util.c: ditto
1026 * find/tree.c: ditto (fixing Savannah bug #20128).
1027
1028 * m4/noreturn.m4 (jy_AC_ATTRIBUTE_NORETURN): Use AC_LANG_PROGRAM
1029 inside AC_COMPILE_IFELSE.
1030
1031 * doc/find.texi (Security Considerations for locate): Discuss in
1032 detail the buffer overrun when reading old-format locate
1033 databases. This is CVE reference CVE-2007-2452.
1034
10352007-06-05 James Youngman <jay@gnu.org>
1036
1037 Guess the byte-order of old-format locate databases.
1038 * locate/word_io.c (getword): Make the endian_state_flag parameter
1039 an enum rather than an int. If we are in the initial ("don't
1040 know") byte-order guessing state and the swapped value is out of
1041 range, use this as evidence that the byte order is native.
1042 * locate/locatedb.h: Declare getword accordingly.
1043 * locate/locate.c (struct process_data): Added endian_state
1044 member, which remembers for us what the big/little endian order
1045 guessing state is when we read an old-format database.
1046 (visit_old_format): Use the procdata.endian_state rather than a
1047 local variable, so that the information can persist across calls.
1048 (i_am_little_endian): Locate figures out if we needed to byteswap
1049 the words in an old-format database, but that is an implementation
1050 detail. Therefore we figure out our own byte order so that we can
1051 produce a more relevant message for --statistics. The
1052 i_am_little_endian() returns nonzero if the current host has
1053 little-endian byte order.
1054 (search_one_database): Report the byte-order of old-format
1055 databases.
1056
10572007-06-04 James Youngman <jay@gnu.org>
1058
1059 * locate/testsuite/Makefile.am (EXTRA_DIST_XO, EXTRA_DIST_EXP):
1060 Added old_prefix.exp and old_prefix.xo, a new test case for long
1061 shared rpefixes with the old database format.
1062
1063 * locate/locate.c (visit_old_format): Use getword() from word_io.c
1064 instead of getw(), because getw() is not in POSIX.
1065 * locate/word_io.c: New file, providing replacement for getw().
1066 * locate/locatedb.h: Declare getword()
1067 * locate/Makefile.am (locate_SOURCES): Added word_io.c
1068
1069 * locate/testsuite/config/unix.exp (locate_start): Make the
1070 failure messages slightly more explicit; indicate what went wrong
1071 when a test fails.
1072
10732007-06-03 James Youngman <jay@gnu.org>
1074
1075 * locate/locate.c (visit_old_format, extend, toolong): Extend the
1076 buffer used to build the current pathname when reading an
1077 old-format database. The new function extend is called to do
1078 this. The new function toolong is called to report a fatal error
1079 when the buffer size would otherwise exceed SIZE_MAX. This fixes
1080 Savannah bug #20014, which is a security-related problem with the
1081 CVE identifier CVE-2007-2452.
1082
1083 * configure.in: Determine if the setgroups function is available,
1084 and set HAVE_SETGROUPS if so.
1085 * locate/locate.c (drop_privs): Call setgroups() only if
1086 HAVE_SETGROUPS indicates that it is available. This fixes
1087 Savannah bug #19981.
1088
1089 * po/vi.po: Updated Vietnamese translation
1090
10912007-05-31 James Youngman <jay@gnu.org>
1092
1093 * find/parser.c (parse_time): Once we have determined the
1094 comparison type, restore the original time argument since
1095 get_relative_timestamp() also wants to see it. This fixes
1096 Savannah bug #20005.
1097
1098 * po/findutils.pot, ga.po, pt.po, tr.po, pl.po: updated from the TP
1099 website.
1100
11012007-05-31 Jakub Bogusz <qboosh@pld-linux.org> (trivial change)
1102
1103 * find/parser.c (parse_group): Correct typo in error message.
1104 (check_path_safety): same
1105
11062007-05-27 James Youngman <jay@gnu.org>
1107
1108 * import-gnulib.config (modules): Import sys_stat.
1109 (gnulib_version): Update to 2007-05-26. This fixes a compilation
1110 error in stdlib.h with the DEC C compiler. This fixes Savannah
1111 bug# 19983.
1112
1113 * find/parser.c (safe_atoi): New function, like atoi, but which
1114 calls error(1, ...) when the argument is invalid or out of range.
1115 (parse_group): Use safe_atoi.
1116 (insert_depthspec): Use safe_atoi
1117 (parse_user): Use safe_atoi
1118
1119 * configure.in: Check for fabs in libm (fixing a compilation error
1120 on Solaris).
1121
1122 * import-gnulib.config (modules): Import the wcwidth module to
1123 provide it on those systems (such as BeOS) which lack it.
1124
1125 * find/pred.c (file_sparseness): If st_blocks is not present in
1126 struct stat, the file has a sparseness of 1.0.
1127
1128 * doc/find.texi (Size Directives): Document the %S format
1129 directive for -printf.
1130
1131 * find/pred.c (mode_to_filetype): Don't use S_IFSOCK on systems
1132 which lack that macro. POSIX systems are allowed to lack
1133 sockets (it's an XSI extension).
1134 (file_sparseness): If struct stat lacks st_blocks, assume all
1135 files have a spearseness of 1.0.
1136
1137 * import-gnulib.config (modules): Import fchdir inorder to fix an
1138 undefined-symbol error for fchdir on BeOS.
1139
11402007-05-26 James Youngman <jay@gnu.org>
1141
1142 Code refactoring in locate.
1143 * locate/locate.c (visit): New function, into which we factor out
1144 the traversal of the inspector list.
1145 (process_simple): Use visit().
1146 (process_or): Use visit().
1147 (process_and): Use visit().
1148
1149 Speed improvements in locate for unibyte locales.
1150 * locate/locate.c (visit_substring_match_nocasefold_wide): Renamed
1151 from visit_substring_match_nocasefold.
1152 (visit_substring_match_casefold_wide): Renamed from
1153 visit_substring_match_casefold.
1154 (visit_substring_match_casefold_narrow): Special case of
1155 visit_substring_match_casefold_wide which we use for unibyte
1156 locales; we use strcasestr() rather than mbscasestr().
1157 (visit_substring_match_nocasefold_narrow): Ditto, using strstr()
1158 instead of mbsstr().
1159
1160 * find/parser.c (parse_gid): Return an explicit boolean constant
1161 rather than automatically converting from a pointer, because the
1162 gnulib substitute for bool (or _Bool) in c89 environments lacking
1163 bool does not support that conversion. One affected system is Sun
1164 WorkShop Compilers 5.0 98/12/15 C 5.0 on Solaris 7. This is
1165 Savannah bug #19970, reported by Nelson Beebe.
1166 (parse_inum): Ditto.
1167 (parse_links): Ditto.
1168 (parse_uid): Ditto.
1169 (check_path_safety): declarations need to go before code, not
1170 interspersed. Move declaration of char* s.
1171
1172 * xargs/testsuite/xargs.posix/rc-125.exp: Explain Savannah bug
1173 #19969. This bug is not yet fixed.
1174
1175 * find/defs.h: #include <stdint_.h>, for uintmax_t. This should
1176 fix a compilation error on DEC C V5.9-005 on Digital UNIX V4.0F
1177 (Rev. 1229). This is Savannah bug #19965, reported by Nelson
1178 Beebe.
1179
1180 * find/defs.h: Don't include <errno.h>, since it is not needed in
1181 the header file itself. The "extern int errno;" declaration is
1182 now obsolete.
1183 * find/parser.c: Include <errno.h>
1184 * find/pred.c: Dito
1185 * find/util.c: Ditto
1186
11872007-05-24 James Youngman <jay@gnu.org>
1188
1189 * find/util.c (check_nofollow): If O_NOFOLLOW is defined but 0,
1190 act as if it is undefined. This should prevent a runtime
1191 assertion failure on IRIX 6.5. This fixes Savannah bug #19948,
1192 reported by Nelson Beebe.
1193
1194 * m4/noreturn.m4: New file, testing for support of __attribute__
1195 ((__noreturn__)). Defines jy_AC_ATTRIBUTE_NORETURN and sets
1196 HAVE_ATTRIBUTE_NORETURN.
1197 * configure.in: Call jy_AC_ATTRIBUTE_NORETURN.
1198 * find/defs.h (ATTRIBUTE_NORETURN): Define to nothing if
1199 HAVE_ATTRIBUTE_NORETURN is not set in config.h. This should fix a
1200 compilation error with non-GCC compilers. This is Savannah bug
1201 #19967, reported by Nelson Beebe.
1202
1203 * configure.in (FINDLIBS): Update FINDLIBS to link against -lm for
1204 modf. This fixed a link error on HP-UX. This fixes Savannah
1205 bug #19966, reported by Nelson Beebe.
1206 * find/Makefile.am (LDADD): Use @FINDLIBS@
1207
12082007-05-21 James Youngman <jay@gnu.org>
1209
1210 Release 4.3.6.
1211
1212 * build-aux/Makefile.am (EXTRA_DIST): Added man-lint.sh.
1213
1214 * locate/locate.c (drop_privs): pass the correct list of groups to
1215 setgroups(). Previously, if root invoked locate, their group ID
1216 would have been set to a random value. The same bug also caused
1217 an array overrun past the end of the local array groups[]. The
1218 variable which gets overwritten by the buffer overrun on x86 is
1219 'what'. The value of that variable is always changed before it is
1220 used, and so I believe that this buffer overrun will not cause a
1221 crash. The only effect of the bug therefore would be for locate
1222 to change group to a random group ID since groups[0] is
1223 uninitialised. On my test system this random group ID is 0
1224 anyway. The effect does not depend on any externally-controllable
1225 information, so it is unlikely this is exploitable. This bug is
1226 detailed as bug# 19923.
1227
12282007-05-19 James Youngman <jay@gnu.org>
1229
1230 * find/find.1: Spurious .R directives (.R is not a directive)
1231 should be .B. This fixes Savannah bug #19871.
1232 * build-aux/man-lint.sh: New file; verifies that the specified
1233 manual pages do not provoke error messages from troff. This is
1234 used to detect further occurrences of Savannah bug #19871.
1235 * find/Makefile.am (dist-hook): Run findutils-check-manpages,
1236 which invokes man-lint.sh.
1237 * locate/Makefile.am (dist-hook): ditto
1238 * xargs/Makefile.am (dist-hook): ditto
1239
1240 * .cvsignore: Ignore ylwrap, which automake-1.10 wants us to have
1241 a copy of for some reason
1242
1243 * import-gnulib.sh (main): New option -a which just runs the
1244 autotools without reimporting gnulib.
1245
1246 * Makefile.am (jy-regex-fix): The previous explanatory comment
1247 refers to the jy-regex-fix target, not to dist-hook, so it has
1248 been moved.
1249
12502007-05-08 James Youngman <jay@gnu.org>
1251
1252 * find/defs.h (struct predicate.args): str is now const.
1253
1254 * find/parser.c (get_comp_type): get_comp_type now takes a const
1255 char* parameter.
1256 (get_num): ditto
1257 (get_relative_timestamp): ditto. Also use collect_arg().
1258 (collect_arg_stat_info): New function; collects a command-line
1259 argument and returns its xstat information, in one go.
1260 error(1,...) is called if the stat fails.
1261 (parse_anewer): Use collect_arg().
1262 (parse_cnewer): ditto
1263 (parse_fprint): ditto
1264 (parse_fstype): ditto
1265 (parse_group): ditto
1266 (parse_ilname): ditto
1267 (parse_iname): ditto
1268 (parse_iwholename): ditto
1269 (parse_lname): ditto
1270 (insert_depthspec): ditto
1271 (parse_name): ditto
1272 (parse_newer): ditto
1273 (parse_wholename): ditto
1274 (parse_perm): ditto
1275 (parse_regextype): ditto
1276 (insert_regex): ditto
1277 (parse_samefile): ditto
1278 (parse_used): ditto
1279 (parse_user): ditto
1280 (insert_type): ditto
1281 (parse_time): ditto
1282 (parse_size): When the size argument is invalid but consists only
1283 of a valid suffix char, avoid issuing an error message about a
1284 blank argument. Append the suffix letter again.
1285 (parse_xdev, parse_ignore_race, parse_noignore_race, parse_warn,
1286 parse_xtype): Remove casts to void for some function parameters
1287 that were, in fact, used.
1288
1289 * find/testsuite/find.gnu/fprint-unwritable.exp: new test
1290 * find/testsuite/find.gnu/fprint0_stdout.exp: new test
1291 * find/testsuite/find.gnu/fprint0_stdout.xo: new test
1292 * find/testsuite/find.gnu/mindepth-arg.exp: new test
1293 * find/testsuite/find.gnu/mindepth-arg.xo: new test
1294 * find/testsuite/find.gnu/mindepth-badarg.exp: new test
1295 * find/testsuite/find.gnu/print_stdout.exp: new test
1296 * find/testsuite/find.gnu/print_stdout.xo: new test
1297 * find/testsuite/find.gnu/samefile-missing.exp: new test
1298 * find/testsuite/find.gnu/samefile-p-brokenlink.exp: new test
1299 * find/testsuite/find.gnu/samefile-p-brokenlink.xo: new test
1300 * find/testsuite/find.gnu/used-invarg.exp: new test
1301 * find/testsuite/find.gnu/used-missing.exp: new test
1302 * find/testsuite/find.gnu/user-invalid.exp: new test
1303 * find/testsuite/find.posix/group-empty.exp: new test
1304 * find/testsuite/find.posix/group-missing.exp: new test
1305 * find/testsuite/find.posix/name-missing.exp: new test
1306 * find/testsuite/find.posix/size-invalid.exp: new test
1307 * find/testsuite/find.posix/size-missing.exp: new test
1308 * find/testsuite/find.posix/typearg.exp: new test
1309 * find/testsuite/find.posix/user-empty.exp: new test
1310 * find/testsuite/find.posix/user-missing.exp: new test
1311
13122007-05-06 James Youngman <jay@gnu.org>
1313
1314 * find/tree.c: (costlookup): Added pred_fls to the optimiser's
1315 predicate cost lookup table.
1316
1317 * lib/printquoted.c (print_quoted): Change return value from void
1318 to int, to allow the caller to detect failures.
1319 * lib/printquoted.h (print_quoted): Change declaration
1320 accordingly.
1321
1322 * find/defs.h (struct format_val): Incldue a 'filename' member so
1323 that we can provide more useful error messages (e.g. when we fail
1324 to flush or close an output file).
1325 (nonfatal_file_error): declare new function.
1326
1327 * find/util.c (traverse_tree): Utility function which calls a
1328 callback on every node of the parse tree.
1329 (flush_and_close_output_files): Flush all output streams. Close
1330 all output files. Report any errors.
1331 (cleanup): Use traverse_tree() to invoke
1332 complete_pending_execdirs().
1333 (report_file_err): refactored error reporting function, extracted
1334 from fatal_file_error.
1335 (nonfatal_file_error): New function.
1336
1337 * find/pred.c (checked_fprintf): New function, which performa an
1338 fprinf(), and checkes the result. If the operation resulted in an
1339 error, a nonfatal error message is issued.
1340 (checked_print_quoted): Ditto, for print_quoted rather than
1341 fprintf.
1342 (checked_fwrite): Ditto for fwrite instead of fprintf.
1343 (checked_fflush): Ditto for fflush
1344 (do_fprintf): Use the checked_*() functions rather than their
1345 direct counterparts, to ensure that I/O errors are detected. This
1346 fixes Savannah bug #19416.
1347 (pred_fls): Use args.printf_vec instead of args.stream, which has
1348 now been removed.
1349 (pred_ls): just call pred_fls.
1350 (pred_fprint0): use args.printf_vec, instead of the now removed
1351 args.stream.
1352 (pred_print0): just call pred_fprint0
1353
1354 * find/parser.c: (insert_fprintf): Make the caller collect the
1355 format argument from the argument list.
1356 (open_output_file): Enhance to set up defaults in
1357 our_pred->args.printf_vec as well as opening the output file.
1358 Also record the filename for possible later use in an error
1359 message.
1360 (collect_arg): Convenience function for collecting an argument
1361 from the argument list.
1362 (insert_fls): Refactored the body of parse_fls out so that
1363 parse_ls can use it.
1364 (parse_fls): call insert_fls.
1365 (parse_ls): ditto
1366 (parse_fprint): Instead of setting up our_pred->args.printf_vec
1367 manually, call open_output_file() to do it.
1368 (parse_print): Same, but by calling open_stdout().
1369 (insert_fprint): Make the caller collect the filename argument,
1370 and delegate the setup of our_pred->args.printf_vec to either
1371 open_output_file() (for parse_fprint and parse_fprint0) or
1372 open_stdout (parse_print0).
1373 (parse_fprint0): Use collect_arg().
1374 (parse_print0): Use insert_fprint(), just like parse_fprint0.
1375 (parse_printf): Use collect_arg().
1376 (parse_fprintf): Use collect_arg().
1377
13782007-05-05 James Youngman <jay@gnu.org>
1379
1380 Release 4.3.5.
1381
1382 * find/parser.c (parse_samefile): Hold a file descriptor open on
1383 the reference file in order to prevent pred_samefile getting
1384 fooled by inode reuse. Pay attention to race conditions on
1385 systems lacking O_NOFOLLOW when the -P option is in force. This
1386 fixes Savannah bug #19806.
1387
1388 * find/defs.h (struct samefile_file_id): New struct, like dir_id
1389 but including a file descriptor on the reference file.
1390
1391 * find/pred.c (pred_type): -type should return false if the file
1392 has mode 00000, as opposed to having an assertion failure. This
1393 fixes Savannah bug #16378.
1394
1395 * find/ftsfind.c (consider_visiting): Issue a warning message if
1396 none of the mode bits are set for a file (i.e. st_mode==00000).
1397 * find/util.c (get_statinfo): ditto
1398 * find/util.c (hook_fstatat): Introduced debug code (normally
1399 disabled) for testing Savannah bug #16378.
1400
14012007-05-01 James Youngman <jay@gnu.org>
1402
1403 * find/find.c (wd_sanity_check): corrected the type of %ld fprintf
1404 arguments in error messages.
1405 * find/fstype.c: include "error.h" for the declaratio of error().
1406 * find/ftsfind.c: include "error.h" for the declaratio of
1407 error(). Include dircallback.h for the correct declararion of
1408 run_in_dir().
1409 * find/parser.c: include getdate.h (for declaration of getdate)
1410 and error.h (for the declaration of error).
1411 (find_parser): Removed unused variable p.
1412 * find/pred.c (pred_timewindow): Removed unused variable delta.
1413 (do_fprintf): Removed unused variable cc.
1414 * find/tree.c: Include error.h (for the declaration of error()).
1415 (build_expression_tree): removed sourious extra arguments in call
1416 to error().
1417 * find/util.c: include error.h.
1418 * lib/buildcmd.h (get_line_max): Comment out unused function.
1419 * lib/listfile.c: Include dircallback.h.
1420 * locate/code.c: Include errno.h, erorr.h, progname.h and
1421 xlloc.h.
1422 (inerr): New function for reporting read errors.
1423 (outerr): New function for reporting output errors.
1424 (main): Call inerror when fgets fails. Call outerr when fwrite
1425 or putc or putw fails.
1426 * locate/frcode.c (put_short): Return boolean value indicating
1427 success.
1428 (outerr): New function for reporting write errors.
1429 (main): Call outerr if call to putc() or puts() or put_short()
1430 fails.
1431 * locate/locate.c (search_one_database): diagnose corruption if a
1432 traditional-style database is too short to include a complete
1433 bigram table.
1434
14352007-04-30 James Youngman <jay@gnu.org>
1436
1437 * find/defs.h: Change all predicate functions to take a const
1438 char* argument as the pathname, not a char*. Modify the parser
1439 table definition accordingly.
1440 * find/parser.c: Ditto
1441 * find/pred.c: Ditto
1442 * find/pred.c (do_fprintf): copy the pathname string for the %H
1443 and %h cases, since we can no longer modify the string in place.
1444 * lib/listfile.c (print_name, list_file,
1445 print_name_without_quoting, print_name_with_quoting): Use const
1446 char * param for pathname.
1447 * lib/listfile.h (list_file): Use const char * param for
1448 pathname.
1449
14502007-04-29 James Youngman <jay@gnu.org>
1451
1452 * find/defs.h: Declare fatal_file_error(), a function for
1453 reporting immediately-fatal file errors, which appropriately
1454 quotes the file name. The function does not return. Also define
1455 ATTRIBUTE_NORETURN. Record the currently-required quoting style
1456 in struct options.
1457
1458 * find/find.c, find/ftsfind.c, find/parser.c, find/pred.c,
1459 find/util.c: Call fatal_file_error() for fatal file errors. Use
1460 quotearg_n_style() to quote filenames which are used in error
1461 message that aren't fatal. Use options.err_quoting_style as the
1462 quoting style. This fixes Savannah bug #18203.
1463 * locate/locate.c: ditto
1464 * xargs/xargs.c: ditto
1465
1466 * lib/listfile.c: To use alloca, just #include <alloca.h>. Gnulib
1467 handles the rest. Also these days, <stdlib.h> and <string.h> can
1468 just be included unconditionally.
1469 * lib/qmark.c: Fixed comment on first line describing the module.
1470
14712007-04-29 Michael Haubenwallner <michael.haubenwallner@salomon.at> (Trivial Change)
1472
1473 * find/defs.h (pred_open) Rename to pred_openparen to avoid
1474 problems with the macrtos which build the parser tabnles on
1475 platforms where 'open' is in fact a macro whcih expands to
1476 open64. The problem was that token pasting put pred_open64 into
1477 the parser table, but the function was still defined as
1478 parse_open. This fixes Savannah bug #19371.
1479 (pred_close): ditto
1480 * find/parser.c (parse_open, parse_close): ditto. Also change
1481 repferences to pred_open and pred_close similarly.
1482 * find/parser.c (parse_openparen, parse_closeparen): ditto
1483
14842007-04-28 James Youngman <jay@gnu.org>
1485
1486 * find/testsuite/find.gnu/deletedir.exp,
1487 find/testsuite/find.gnu/deletedir.xo: New test.
1488 * find/testsuite/find.gnu/deletefile.exp,
1489 find/testsuite/find.gnu/deletefile.xo: New test.
1490 * find/testsuite/Makefile.am: Distribute the new tests
1491 deletefile.exp and deletedir,exp, with their expected-output (.xo)
1492 files too.
1493 * find/testsuite/config/unix.exp (find_start): Add a new "setup"
1494 parameter called just before each time find is invoked. This
1495 allows last-minute tasks to be performed. This feature is
1496 essential for find commands that modify the filesystem, since
1497 otherwise we cannot use our strategy of invoking both binaries at
1498 each optimisation level.
1499
1500 * find/util.c (optionh_stat, optionp_stat, optionl_stat): Assert
1501 that state.cwd_dir_fd is valid.
1502
1503 * find/parser.c (parse_delete): Set need_stat to false, since we
1504 don't need the stat information in pred_delete.
1505 * find/pred.c (pred_delete): If unlinkat() with a zero flags
1506 parameter fails with errno==EISDIR, just try again with
1507 flags=AT_REMOVEDIR. That way we normally avoid the cost of a
1508 stat. If we happen to have the stat information to hand anyway,
1509 we make sure we get it right the first time.
1510
1511 * lib/buildcmd.c (bc_init_controlinfo): Eliminate confusing extra
1512 variable arg_max. Add return value
1513 BC_INIT_CANNOT_ACCOMODATE_HEADROOM for the case where the
1514 environment itself is not too large, but the required headroom
1515 cannot also be accomodated. The caller now passes in the amount
1516 of headroom required.
1517 (bc_use_sensible_arg_max): Use the environment size consistently;
1518 this is accounted for already in posix_arg_size_max, so there is
1519 no need to re-measure the size of the environment.
1520 * lib/buildcmd.h: Define BC_INIT_CANNOT_ACCOMODATE_HEADROOM and
1521 add the headroom parameter to the prototype of bc_init_controlinfo().
1522 * xargs/xargs.c (main): Define XARGS_POSIX_HEADROOM as 2048 and
1523 use that symbolic value. Pass XARGS_POSIX_HEADROOM to
1524 bc_init_controlinfo(). Handle the case where
1525 BC_INIT_CANNOT_ACCOMODATE_HEADROOM is returned by
1526 bc_init_controlinfo().
1527 * find/parser.c (new_insert_exec_ok): Pass the required headroom to
1528 bc_init_controlinfo() and handle the error return
1529 BC_INIT_CANNOT_ACCOMODATE_HEADROOM.
1530
1531 * xargs/xargs.1: Correct the description of the default value and
1532 maximum value for the -s option of xargs.
1533
1534 * xargs/xargs.c (main): Modify the assertions not to assume that
1535 bc_ctl.arg_max is 2KiB less than ARG_MAX, since sysconfig() may
1536 have returned a value for _SC_ARG_MAX which is greater. For
1537 example, AIX 5.3 can do this. This should fix Savannah bug
1538 #19391.
1539
15402007-04-25 James Youngman <jay@gnu.org>
1541
1542 * find/tree.c (predlist_dump, predlist_merge_nosort): These
1543 functions were unused and commented out. Removed.
1544 (mark_stat) No longer used. Removed.
1545 (mark_type) No longer used. Removed.
1546
1547 * find/parser.c (new_insert_exec_ok): When checking for {} in the
1548 arguments to -exec..., use mbsstr() rather than strstr() in order
1549 to cope bettwe with multibyte locales.
1550
1551 * lib/buildcmd.c: Don't define mbsstr() locally. Instead, call
1552 gnulib's mbsstr().
1553
15542007-04-24 James Youngman <jay@gnu.org>
1555
1556 * lib/buildcmd.c: Added some comments outlining how we might
1557 change the implementation to support figuring out the real ARG_MAX
1558 limit.
1559
15602007-04-23 James Youngman <jay@gnu.org>
1561
1562 * find/defs.h (struct predicate_performance_info): New data
1563 structure for holding perofmance statistics.
1564 (struct predicate: include predicate_performance_info
1565 (apply_predicate): change from macro to function
1566 (pred_is): new macro, for predicate identity testing
1567 (enum DebugOption): Added DebugSuccessRates
1568 * find/find.1: Document option "-D rates" which turns on
1569 DebugSuccessRates.
1570 * doc/find.texi: ditto
1571 * find.c (main): Call show_success_rates() before exiting.
1572 (apply_predicate): remove the macro defintion, declare equivalent
1573 function in defs.h.
1574 * find/ftsfind.c (main): Call show_success_rates() before
1575 exiting. Use apply_predicate().
1576 (show_outstanding_execdirs): use pred_is().
1577
1578
1579
15802007-04-22 Eric Blake <ebb9@byu.net>
1581
1582 * xargs/xargs.c (main): Don't assume LINE_MAX exists (i.e. is
1583 #defined).
1584
1585 * locate/updatedb.sh (PRUNEPATHS): Exclude /proc by default.
1586
15872007-04-22 James Youngman <jay@gnu.org>
1588
1589 * doc/Makefile.am: When cross-compiling, 'make clean' should not
1590 delete doc/regexprops.texi, becaue we can't regenerate it. Fixes
1591 Savannah bug #19658.
1592
1593 * locate/Makefile.am (BUILT_SOURCES): Automatically generate
1594 dblocation.texi, which records the default database location.
1595 * doc/find.texi: Collect the default database location from
1596 ../locate/dblocation.texi, and use LOCATE_DB in various places.
1597 Document the fact that updatedb can generate slocate-compatible
1598 databases. Document the --dbformat option of updatedb.
1599 * locate/frcode.c (main): Implemented the -S option which allows the
1600 generation of an slocate secure database.
1601 * locate/updatedb.sh: New option --dbformat which selects which
1602 database format to use.
1603 * locate/updatedb.1 (--dbformat): Document the new option.
1604
1605
1606 * find/testsuite/find.gnu/access.exp: fixed a typo which prevented
1607 the test correctly being skipped when run as root. This re-fixes
1608 Savannah bug# 18414, I hope.
1609
16102007-04-21 James Youngman <jay@gnu.org>
1611
1612 Release 4.3.4.
1613
1614 * find/locate/locatedb.5: Clarifications to the description of the
1615 LOCATE02 format. Organised the material under a number of
1616 headings. Documented the slocate database format.
1617
16182007-04-21 James Youngman <jay@gnu.org>
1619
1620 * find/testuite/Makefile.am (EXTRA_DIST_EXP): added
1621 find/testsuite/find.posix/sv-bug-19617.exp
1622
16232007-04-20 Maxim V. Dziumanenko <dziumanenko@gmail.com>
1624
1625 * po/uk.po: New Ukranian translation.
1626 * configure.in: Added "uk" for Ukranian.
1627
16282007-04-19 Peter Breitenlohner <peb@mppmu.mpg.de> (Trivial change)
1629
1630 * locate/bigram.c (main): Set the initial pathname to the empty
1631 string, to avoid decompression problems if the initial pathname
1632 begins with a space. This fixes Savannah bug #19484.
1633 * locate/code.c (main): ditto
1634
16352007-04-19 James Youngman <jay@gnu.org>
1636
1637 * locate/updatedb.1 (--help): Option name should be bold, not
1638 italic.
1639
1640 * find/testsuite/find.gnu/execdir-hier.exp: Avoid running
1641 -execdir based tests if "." is on $PATH. Fixes Savannah bug
1642 #19634.
1643 * find/testsuite/find.gnu/execdir-in-unreadable.exp: ditto
1644
1645 * find/testsuite/config/unix.exp (touch): New procedure touch,
1646 replacing "exec touch" for greater efficiency.
1647 * find/testsuite/find.posix/depth1.exp: Change "exec touch" to
1648 "touch".
1649 * find/testsuite/find.posix/files-not-expressions1.exp: ditto
1650 * find/testsuite/find.posix/files-not-expressions2.exp: ditto
1651 * find/testsuite/find.posix/files-not-expressions3.exp: ditto
1652 * find/testsuite/find.posix/links.exp: ditto
1653 * find/testsuite/find.posix/perm-vanilla.exp: ditto
1654 * find/testsuite/find.posix/sv-bug-15235.exp: ditto
1655 * /find/testsuite/find.posix/sv-bug-19613.exp: ditto
1656
1657 * find/testsuite/find.gnu/access.exp: Fix savannah bug #18414 by
1658 skipping the test if the user can read any file (e.g. is root or
1659 is an Admin user under Cygwin).
1660
16612007-04-17 James Youngman <jay@gnu.org>
1662
1663 * import-gnulib.config (gnulib_version): Use the 2007-04-17
1664 version of gnulib to fix a compilation error on Cygwin. This
1665 fixes Savannah bug #19619.
1666
1667 * find/testsuite/find.posix/sv-bug-19605.exp: New test, for
1668 Savannah bug #19605.
1669 * find/testsuite/find.posix/sv-bug-19617.exp: New test, for
1670 Savannah bug #19617.
1671 * find/ftsfind.c (consider_visiting): if fts_read() returns
1672 enf->fts_info==FTS_NS, check for and diagnose a symbolic link
1673 loop. This fixes Savannah bugs #19605 and #19617.
1674
1675 * find/find.c (process_path): collect the stat information for
1676 directories even if we already have the mode information, because
1677 we need to use the members st_nlink and st_rdev in for the leaf
1678 optimisation and loop detection, respectively. This fixes
1679 Savannah bug #19616.
1680
1681 * find/ftsfind.c (is_fts_enabled): Return a copy of ftsoptions,
1682 not a copy of the (uninitialised) input argument. This fixes
1683 Savannah bug #19615.
1684
1685 * find/ftsfind.c (consider_visiting): If fts_read() returned
1686 FTS_NS, then remember that the stat information is not valid, and
1687 therefore don't set state.have_type or state.have_stat. This
1688 fixes Savannah bug #19613.
1689
1690 * find/testsuite/find.posix/sv-bug-91613.exp,
1691 * find/testsuite/find.posix/sv-bug-91613.xo: New test for Savannah
1692 bug 19613 (assertion failure on symbolic link loop).
1693
1694 * find/testsuite/config/unix.exp: Correctly diagnose a test case
1695 which fails because find was expected to fail and instead
1696 succeeded.
1697 * find/testsuite/find.gnu/exec-many-rtn-failure.exp: The child
1698 process in this test should return non-zero, not zero. Therefore
1699 run "false" instead of "true".
1700
17012007-04-15 James Youngman <jay@gnu.org>
1702
1703 Release 4.3.3.
1704
1705 * find/find.1: "-printf %b": blocks are 512 bytes. Fixes
1706 Savannah bug #19596.
1707
1708 * doc/Makefile.am (regexprops.texi): Do not use $(RM) because many
1709 versions od make do not set it, and so it expands to nothing.
1710 This avoids suprious emission of the regexprops.texi file to stdout.
1711
1712 * find/find.c (main, safely_chdir_lstat, safely_chdir_nofollow):
1713 Only use O_LARGEFILE if it is #defined (NetBSD-3.1 does not define
1714 it).
1715 * find/ftsfind.c (main): ditto
1716 * find/pred.c (pred_empty, prep_child_for_exec): ditto
1717
1718
1719 * import-gnulib.config: Update to gnuliv 2007-04-14.
1720
1721 * lib/Makefile.am, import-gnulib.sh: Create lib/gnulib-version.c
1722 in import-gnulib.sh, not in lib/Makefile.
1723
1724 * build-aux/Makefile.am: New file; distribute check-tstfiles.sh.
1725
1726 * locate/Makefile.am: mkinstalldirs is now in build-aux.
1727
1728 * doc/Makefile.am: We also need getdate.texi.
1729
17302007-04-14 James Youngman <jay@gnu.org>
1731
1732 * doc/.cvsignore: Ignore getdate.texi
1733
1734 * find/defs.h: #include "buildcmd.h" near the top of the file, not
1735 in the middle.
1736
1737 * all: Pass O_LARGEFILE when opening directories.
1738
1739 * all: Changes to allow us to use the FTS_CWDFD mode of fts().
1740 These are quite extensive changes, and are detailed below.
1741
1742 * find/defs.h (struct exec_val): New member dirfd, the directory
1743 in which the exec should take place.
1744 (is_fts_enabled): Tell the caller which flags are passed to
1745 fts_open().
1746 (get_start_dirfd): New function. Returns value of start_desc.
1747 (get_current_dirfd): New function. Returns the fd of the
1748 directory fts is currently traversing. If this is the current
1749 directory, AT_FDCWD is returned.
1750 (complete_pending_execdirs): takes a new argument, indicating
1751 where the exec is to take place. Ugh.
1752 (get_info): the file name is taken from state.rel_pathname, so
1753 we don't need it as a function argument.
1754 (enum DebugOption): Added DebugExec ("-D exec").
1755 (struct state): Added cwd_dir_fd, the directory we are examining
1756 with fts(). If fts() is not in use, this is AT_FDCWD. Also added
1757 execdirs_outstanding, which is a boolean which tells us if there
1758 are any not-yet-execed -execdir or -okdir actions (with +). This
1759 is not really used yet.
1760 * find/ftsfind.c (set_close_on_exec): New function.
1761 (get_current_dirfd): Return an fd open on the directory that fts()
1762 is currently examining.
1763 (left_dir): Signal that our previous ides of which dirctory fts is
1764 searching is now out of date.
1765 (inside_dir): Indicate which directory fts is now searching.
1766 (complete_execdirs_cb): Callback for run_in_dir() to complete
1767 pending execdirs in this directory.
1768 (show_outstanding_execdirs): Supports "-D exec"
1769 consider_visiting(): Do not allow building-up of pending execdirs,
1770 as a workaround to Savannah bug #18466.
1771 (ftsoptions): Make this a static module variable.
1772 * find/parser.c (insert_exec_ok): New parameter describing which
1773 directory the exec should occur in.
1774 (parse_version): for FTS, add a list of options being used.
1775 * find/pred.c (pred_and, pred_comma): No need to pass the relative
1776 path name to get_info(), it can pull it from state.rel_pathname.
1777 (pred_delete): use unlinkat().
1778 (pred_empty): use openat().
1779 (new_impl_pred_exec): Accept an fd parameter describing where the
1780 exec is to take place.
1781 (pred_executable, pred_writable, pred_readable): Use run_in_dir()
1782 to ensure that access() is called in a working directory which is
1783 suitable for the pathname we pass in.
1784 (prep_child_for_exec): In the child process, change to the
1785 appropriate directory becore the exec().
1786 * find/util.c (debugassoc): Support "-D exec".
1787 (get_info): No longer need to pass the relative path to
1788 get_statinfo().
1789 (do_complete_pending_execdirs): Refactored body of what used to be
1790 complete_pending_execdirs().
1791 (complete_pending_execdirs): Pull body out into
1792 do_complete_pending_execdirs() and call that only if there is work
1793 to do.
1794 (fallback_stat, optionh_stat, optionp_stat, optionl_stat): Use fstatat().
1795 (get_start_dirfd): New access function for starting_desc.
1796 * find/testsuite/find.gnu/execdir-hier.exp: New test
1797 * find/testsuite/find.gnu/execdir-hier.xo: Expected outut for new test
1798 * lib/dircallback.c, lib/dircallback.h: New function,
1799 run_in_dir(), which runs a callback function in a specified
1800 directory.
1801 * lib/listfile.c: Use run_in_dir() to call readlink() in the right
1802 directory.
1803 (get_link_name_at): Call get_link_name_cb via run_in_dir.
1804 (get_link_name_cb): New callback function, wrappting
1805 get_link_name().
1806
1807 * find/testsuite/find.gnu/execdir-pwd.exp: Since we have disabled
1808 thebuilding-up of command lines for -execdir, Savannah bug #18466
1809 has been neutralised (but not fixed - we just don't allow the
1810 problem circumstance to occur).
1811
18122007-04-09 James Youngman <jay@gnu.org>
1813
1814 * doc/find.texi: Change fully-specified @node directives to
1815 single-argument @node directives in order to accomodate the
1816 inclusion of getdate.texi.
1817
1818 * doc/find.texi: Document -newerXY.
1819
1820 * doc/find.texi (Security Considerations): updated to describe
1821 differences in the fts-based implementation.
1822
1823 * find/find.1: Indicate that testing the birth time where this is
1824 not supported produces a negative result for files where the birth
1825 time is not known (or a fatal error if the file of interest is a
1826 reference file).
1827
18282007-04-08 James Youngman <jay@gnu.org>
1829
1830 * configure.in: Set @AUXDIR@ (to the location of the build-aux
1831 directory).
1832 * build-aux/check-testfiles.sh: New script, which checks that all
1833 the DejaGnu test files have been included in the distribution and
1834 (more helpfully) lists any that are missing.
1835 * Makefile.am (findutils-check-testfiles): Use
1836 build-aux/check-testfiles.sh.
1837 * locate/testsuite/Makefile.am (EXTRA_DIST_EXP): distribute
1838 locate/testsuite/locate.gnu/sv-bug-14535.exp.
1839
1840 * config.rpath, depcomp, missing: Moved into build-aux/.
1841 * configure.in(AC_CONFIG_AUX_DIR): Find aux files in $SRCDIR/build-aux,
1842 not in $SRCDIR.
1843
18442007-03-31 James Youngman <jay@gnu.org>
1845
1846 * find/tree.c (build_expression_tree): Issue more specific error
1847 messages; distinguish the case where the predicate is invalid from
1848 the cases where a required argument is missing, and a supplied
1849 argument is invalid.
1850
1851 * import-gnulib.config (gnulib_version): Update to 2007-03-30
1852 version of gnulib.
1853
18542007-03-28 James Youngman <jay@gnu.org>
1855
1856 * find/defs.h (set_stat_placeholders): utility function for
1857 initialising the sturct stat fields that NetBSD doesn't always set
1858 (like st_birthtime where the file is on a filesystem not
1859 supporting birthtime).
1860 * find/util.c: set_stat_placeholders(): new function
1861 (get_statinfo): Call set_stat_placeholders().
1862 (optionh_stat, optionl_stat, optionp_stat): ditto
1863 * find/find.c (main, wd_sanity_check, safely_chdir_lstat,
1864 process_dir): use set_stat_placeholders().
1865 * find/parser.c (parse_anewer, parse_cnewer, parse_newer,
1866 parse_newerXY): ditto.
1867 (get_stat_Ytime): Support birth time ('B').
1868 (parse_newerXY): Support st_birthtime.
1869 * find/fstype.c (set_fstype_devno): Use set_stat_placeholders().
1870 * find/pred.c (pred_xtype): Use set_stat_placeholders().
1871 (pred_newerXY): Support birth time.
1872 (pred_fprintf, format_date): ditto ("%Bx").
1873
18742007-03-25 James Youngman <jay@gnu.org>
1875
1876 * xargs/xargs.c (main): For "xargs --show-limits" where stdin is a
1877 terminal, warn the user that the program specified (or /bin/echo)
1878 will be run at least once, if that is what will happen.
1879
18802007-03-24 James Youngman <jay@gnu.org>
1881
1882 * import-gnulib.sh: Added option -d, allowing the user to use a
1883 local version of gnulib, perhaps because they have local changes.
1884
18852007-03-13 James Youngman <jay@gnu.org>
1886
1887 * find/parser.c (parse_quit): Estimated success rate of -quit is
1888 100%.
1889
18902007-03-08 James Youngman <jay@gnu.org>
1891
1892 * find/find.1 (TESTS): Document -newerXY, indicate that reference
1893 files are only examined once.
1894 (HISTORY): Indicate when various features were added
1895 (BUGS): Indicate that -ok ignores LC_COLLATE.
1896
18972007-03-07 James Youngman <jay@gnu.org>
1898
1899 * import-gnulib.config: (gnulib_version): Use gnulib version
1900 2007-03-05
1901 (modules): Added getdate
1902
1903 * find/Makefile.am (LDADD): Added @LIB_CLOCK_GETTIME@ for
1904 clock_gettime(), if it is available.
1905
1906 * find/defs.h: (enum xval): New enumeration, representing the
1907 value of X used in the -newerXY test. It is stored in the reftime
1908 member of 'union args'.
1909 (struct predicate): reftime is also used by -newerXY.
1910 (enum arg_type): Added ARG_SPECIAL_PARSE for -newerXY, because the
1911 parsing function needs to look at the name of the test.
1912 (struct options): start_time is now a struct timespec, not a
1913 time_t.
1914
1915 * find/parser.c: (parse_newerXY): New parsing function for
1916 -newerXY, a feature copied from FreeBSD (also present other BSD
1917 implementations too)
1918 (get_stat_Ytime): New function; returns st_atime, st_mtime or
1919 st_ctime from struct stat, as a timespec, as required according to
1920 the value of Y in -newerXY.
1921 (found_parser): Factored the tail out of find_parser.
1922 (find_parser): Moved tail into found_parser. Add special handling
1923 for -newerXY.
1924 (do_parse_xmin): New argument xv, indicating the value to which
1925 predicate->reftime.xval should be set.
1926 (parse_amin): Pass XVAL_ATIME to do_parse_xmin.
1927 (parse_cmin): Pass XVAL_CTIME to do_parse_xmin.
1928 (parse_mmin): Pass XVAL_MTIME to do_parse_xmin.
1929 (parse_newer): Set args.reftime.xval to XVAL_MTIME.
1930
1931 * find/pred.c (pred_table): added pred_XY.
1932 (pred_fls): options.start_time is now a struct timespec, so just
1933 pass the tv_sec member to list_file.
1934 (pred_ls): ditto
1935 (pred_newerXY): New function, implementing -newerXY.
1936
1937 * find/tree.c (costlookup): pred_newerXY needs stat information.
1938 (build_expression_tree): For predicates of type ARG_SPECIAL_PARSE,
1939 pass them in the name of the predicate (that is, don't advance
1940 argc).
1941
1942 * find/util.c (now): New function for setting options.start_time.
1943 Use nanoseconds where it is available.
1944 (set_option_defaults): Use now() rather than time().
1945
19462007-03-03 James Youngman <jay@gnu.org>
1947
1948 * import-gnulib.sh: Pass --with-tests to gnulib-tool so that relevant
1949 gnulib unit tests are built and are run for "make check".
1950
1951 * configure.in (AC_CONFIG_FILES): Add tests/Makefile (the makefile
1952 for the gnulib unit tests).
1953
1954 * Makefile.am: Add 'tests' to SUBDIRS.
1955
1956 * .cvsignore: Add 'tests'.
1957
1958 * import-gnulib.config (modules): Also use Gnulib modules
1959 mbscasestr and mbsstr in order to perform correct string searching
1960 in multibyte strings, in order to fix Savannah bug #14535.
1961
1962 * locate/testsuite/locate.gnu/sv-bug-14535.exp: new test case for
1963 Savannah bug #14535.
1964
1965 * locale/locate.c (visit_substring_match_nocasefold): Use mbsstr
1966 rather than strstr, in order to correctly support multibyte
1967 strings.
1968 (visit_substring_match_casefold): Use mbscasestr rather than
1969 strstr in order to correctly support case-folding in a multibyte
1970 environment (e.g. with UTF-8 characters outside the normal ASCII
1971 range). This fixes Savannah bug #14535.
1972 (struct casefolder): No longer needed, removed
1973 (visit_casefold): No longer needed, removed.
1974 (lc_strcpy): No longer needed, removed.
1975 (search_one_database): Removed redundant variable need_fold and
1976 the code which used to set it. It had controlled the adding of
1977 the visitor function visit_casefold, but that function itself is
1978 no longer required. Also there is now no need to pass in a
1979 lower-case argument to visit_substring_match_casefold, so don't
1980 pass that in the context argument.
1981
1982 * locate/locate.c (usage): Fixed typo.
1983
19842007-03-01 James Youngman <jay@gnu.org>
1985
1986 * doc/find.texi (Multiple Files): Document the construct
1987 -exec sh -c 'cmd "$@" final-args' {} + - fixing Savannah bug
1988 #18554.
1989
19902007-02-28 James Youngman <jay@gnu.org>
1991
1992 * import-gnulib.config: New file. Specifies which version of
1993 Gnulib we need to check out and build from.
1994
1995 * import-gnulib.sh: Use import-gnulib.config.
1996
1997 * README-CVS: Describe the new method of building from CVS.
1998
1999 * lib/gnulib-version.h, lib/gnulib-version.sh: New files; code for
2000 reporting which version of Gnulib we built findutils from.
2001
2002 * lib/Makefile.am: Build gnulib-version.c out of
2003 ./gnulib-version.config by using lib/gnulib-version.sh.
2004
2005 * Makefile.am: Ship import-gnulib.config and import-gnulib.sh.
2006
2007 * .cvsignore: Ignore gnulib-cvs
2008
2009 * lib/.cvsignore: Ignore gnulib-version.c
2010
2011 * find/parser.c, locate/code.c, locate/locate.c, xargs/xargs.c:
2012 Report which version of Gnulib we were built from.
2013
20142007-02-25 James Youngman <jay@gnu.org>
2015
2016 * find/find.c (process_dir): Removed duplicated (shadow)
2017 declaration of did_stat. Assert that we did not use subdirs_left
2018 if subdirs_unreliable is true.
2019
2020 * find/parser.c (parse_size): Removed unused variable rate.
2021 (parse_time): Removed unused variable num_days_approx.
2022 (get_num): Removed unused variables ok and suffixes.
2023
2024 * find/pred.c (do_fprintf): Indicate that the function needs a
2025 return value (referring to Savannah bug #19146).
2026
2027 * find/tree.c (predlist_dump): Commented out unused function
2028 (predlist_merge_nosort): Commented out unused function
2029 (getrate): Returns type is float, so return 1.0f not 1.0.
2030 (calculate_derived_rates): Removed unused variable rate. Use a
2031 switch statement rater than ifs.
2032
2033 * find/util.c (usage): Removed unused variable i.
2034
2035 * lib/buildcmd.c (bc_do_insert): Removed unused variable
2036 need_prefix.
2037 (bc_init_controlinfo): annotate a line (with #warning) which is
2038 probably a bug.
2039
2040 * locate/locate.c: #include <grp.h> for the benefit of the
2041 setgroups() call in drop_privs.
2042 (slocate_db_pathname): Commented out unused variable.
2043 (set_max_db_age): error command has no format directive, so
2044 remove the unused extra argument.
2045 (looking_at_slocate_db): Removed unused variables magic and
2046 lenwanted. Fix bug where result is indeterminate (due to falling
2047 off the end of the function) if the first character is a nondigit.
2048 (search_one_database): Eliminate (spurious) compiler warning
2049 rlating to possible use before initialisation of slocate_seclevel.
2050
2051 * xargs/xargs.c (get_char_oct_or_hex_escape): Eliminate spurious
2052 compiler warning on variable p.
2053 (main): Removed unused varible env_too_big
2054
2055
20562007-02-24 James Youngman <jay@gnu.org>
2057
2058 * find/parser.c (pred_sanity_check): define this function even for
2059 _NDEBUG, but do nothing in that case.
2060 (estimate_timestamp_success_rate): correct (invert) the sense of
2061 the subtraction used to find the file's age.
2062
2063 * import-gnulib.sh (findutils_modules): Import Gnulib modules
2064 xstrtod and timespec.
2065
2066 * find/parser.c (get_comp_type): Refactored out of get_num.
2067 (get_num): call get_comp_type to find the comparison type.
2068 (get_relative_timestamp): new function replacing get_num_days.
2069 (get_num_days): Remove.
2070 (do_parse_xmin): Support fractional arguments and
2071 nanosecond timestamps.
2072 (parse_used): ditto
2073 (parse_time): ditto
2074
2075 * xargs/xargs.c (read_line): Give a warning message if a NUL is
2076 found in the input (this function is called only when -0 is not in
2077 effect).
2078
2079 * xargs/xargs.c (nullwarning_given): New variable indicating if
2080 the NULL character warning had already been issued.
2081
2082 * doc/find.texi (Multiple Files): Describe how trailing blanks are
2083 handled when -L is in effect.
2084
2085 * xargs/xargs.c (read_line): Use an enum rather than
2086 preprocessor macro values for the lexer state.
2087
2088 * lib/savedirinfo.c (free_dirinfo): Fixed memory leak (trivial
2089 patch from Supriya Kannery)
2090
20912007-01-22 James Youngman <jay@gnu.org>
2092
2093 * .cvsignore (install-sh): Ignore, since the install-sh file is no
2094 longer held in the findutils CVS repository.
2095
2096 * find/testsuite/config/unix.exp (find_start): allow a test to be
2097 skipped for either the old or the new find executable.
2098 * find/testsuite/find.gnu/execdir-pwd.exp,
2099 find/testsuite/Makefile.am:
2100 New test, covering Savannah bug #18466. This test currently fails
2101 for the ftsfind binary and passes for the oldfind binary. Due to
2102 a limitation in the way that we perform the test, we can't tell
2103 the test suite to expect a failure in the new binary but not the
2104 old. Therefore we skip the test for the old binary.
2105
2106 * lib/regeprops.c (describe_regex_syntax): fixed a typo in the text
2107 * doc/find.texi (Multiple Files): fixed a typo
2108
21092007-01-16 James Youngman <jay@gnu.org>
2110
2111 (ctime_format): format the time manually (rather than using ctime)
2112 in order to include the sub-second part of the time.
2113 (weekdays, months): new static variables used by ctime_format.
2114 (format_date): append a the sub-second part of the timestamp to
2115 the seconds part of date/time output.
2116
21172007-01-15 James Youngman <jay@gnu.org>
2118
2119 * find/defs.h (time_val): define struct; use timespec to hold time
2120 in the 'reftime' member.
2121 (args): use struct timespec instead of time_t for predicates
2122 -newer, -anewer, -cnewer. * find/parser.c (includes): include
2123 stat-time.h.
2124 (parse_anewer, parse_cnewer, parse_newer): use struct timespec to
2125 hold timestamps. * find/pred.c (compare_ts): new function for
2126 comparing timestamps in struct timespec.
2127 (pred_anewer, pred_cnewer, pred_newer): use compare_ts() to
2128 compare timestamps (hence takinng acoung of sub-second
2129 granularity).
2130 * find/ftsfind.c: Various improvements to comments.
2131 (is_fts_enabled): Newline before function name to comply with GNU
2132 coding standard.
2133
21342007-01-13 James Youngman <jay@gnu.org>
2135
2136 * lib/regexprops.c (describe_regex_syntax): fixed typo
2137
2138 * xargs/xargs.c (read_line): Fixed Savannah bug# 18714; VT and FF
2139 are not separators, according to POSIX (in the POSIX locale).
2140
2141 * xargs/testsuite/Makefile.am,
2142 xargs/testsuite/input/formfeeds.xi,
2143 xargs/testsuite/input/verticaltabs.xi,
2144 xargs/testsuite/xargs.posix/sv-bug-18714.exp,
2145 xargs/testsuite/xargs.posix/sv-bug-18714.xo,
2146 xargs/testsuite/xargs.posix/sv-bug-18714b.exp,
2147 xargs/testsuite/xargs.posix/sv-bug-18714b.xo: Tests for Savannah
2148 bug #18714.
2149
2150 * xargs/xargs.c (usage): Removed suprious "[" in --help output
2151 (fixes Savannah bug #18384).
2152
2153 * locate/locate.c: Implement the option --max-database-age.
2154 (main) Accept the option.
2155 (set_max_db_age): Parse the argument.
2156
2157 * locate/locate.c (dolocate): If the database is more than N days
2158 old, indicate its actual age in the warning message we produce.
2159
2160 * locate/locate.1, docs/find.texi: Document --max-database-age
2161
2162 * THANKS: Thank Dean Gaudet for the idea of -sparse.
2163
2164 * po/findutils.pot: Updated from Translation Project
2165
2166 * po/ga.po, po/pl.po, po/nl.po, po/tr.po, po/hu.po: Updated from
2167 the Translation Project
2168
21692007-01-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2170
2171 * doc/find.texi: Fix some typos. (trivial change)
2172
21732007-01-07 James Youngman <jay@gnu.org>
2174
2175 * find/parser.c (parse_perm), find/testsuite/find.gnu/perm000.exp,
2176 find/testsuite/find.gnu/perm000.xo: -perm /000 is now quivalent
2177 to -perm -000, as dscussed in Savannah bug #14748. The warning
2178 message we issue when the user does this now explains that the
2179 defintion changed as we promised it would in 2005.
2180
2181 * xargs/xargs.c (read_line): Correctly handle quoted empty
2182 arguments occurring first or last on a line (by adding an empty
2183 argument to the output). Fixes Savannah bug #18713.
2184
2185 * xargs/testsuite/xargs.sysv/sv-bug-18713.exp,
2186 xargs/testsuite/xargs.sysv/sv-bug-18713.xo,
2187 xargs/testsuite/input/empty.xi: Test case for Savannah bug #18713.
2188
2189
21902006-12-29 James Youngman <jay@gnu.org>
2191
2192 * find/testsuite/config/unix.exp:
2193 Verify that find_start is invoked with wither a p (pass) or an f
2194 (fail) argument.
2195
2196 * lib/listfile.c, lib/listfile.h:
2197 define find_blocksize() and provide a declaration for get_link_name()
2198
2199 * find/testsuite/config/unix.exp: Updated copyright years.
2200
2201 * find/testsuite/find.gnu/execdir-one.exp, find/testsuite/find.gnu/execdir-root-only.exp, find/testsuite/find.gnu/sv-bug-12230.exp, find/testsuite/find.gnu/sv-bug-17782.exp, find/testsuite/config/unix.exp:
2202 Avoid tests using -execdir if $PATH contains a relative directory
2203
2204 * find/parser.c:
2205 Also flag $PATH values containing relative directories as being dangerous.
2206
2207 * find/parser.c, find/defs.h, find/util.c:
2208 Instead of selecting the old or new exec handling code with the NEW_EXEC macro, just use the new code all the time
2209
2210 * locate/testsuite/config/unix.exp:
2211 Fixed Savannah bug #13252, test suite failure caused by the fact that 'file normalize' is not available in Tcl 8.3
2212
2213 * NEWS, find/pred.c:
2214 Fixed Savannah bug #18433, compilation failure with configure --enable-debug
2215
22162006-12-28 James Youngman <jay@gnu.org>
2217
2218 * NEWS: Document addition of %S.
2219
2220 * find/defs.h, find/find.1, find/parser.c, find/pred.c:
2221 Implemented %S (sparseness) printf format, and general refactoring and cleanup of printf predicate
2222
22232006-12-01 James Youngman <jay@gnu.org>
2224
2225 * NEWS, configure.in: Begin work on findutils 4.2.30
2226
2227 * find/find.c:
2228 Fix compilation error for oldfind if --enable-debug was passed to configure
2229
2230 * NEWS, configure.in: Prepare for work on findutils-4.3.3
2231
22322006-11-25 James Youngman <jay@gnu.org>
2233
2234 Release 4.3.2.
2235
2236 * find/testsuite/Makefile.am: Added test case for Savannah bug #17782
2237
2238 * doc/textinfo.tex: Removed; we now use the version supplied
2239 by automake.
2240
2241 * m4/mkinstalldirs.m4: Added this file. It's an excerpt from an
2242 old version of gnulib's m4/nls.po file. The current version of
2243 gnulib does not expand MKINSTALLDIRS, but gettext-0.14.6's version
2244 of po/Makefile.in.in expects it to be expanded. This m4 file
2245 fills the gap.
2246
22472006-11-20 James Youngman <jay@gnu.org>
2248
2249 * po/et.po, po/bg.po, po/pl.po, po/nl.po, po/tr.po: Updated
2250 translations for Bulgarian, Estonian, Dutch, Polish and Turkish.
2251
22522006-11-08 James Youngman <jay@gnu.org>
2253
2254 * find/testsuite/Makefile.am:
2255 Oops, indicate the right directory for the new test files
2256
2257 * ChangeLog, depcomp, doc/texinfo.tex, find/ftsfind.c, find/testsuite/Makefile.am, find/testsuite/find.gnu/sv-bug-18222.exp, find/testsuite/find.gnu/sv-bug-18222.xo, install-sh:
2258 Savannah bug#18222 - test case
2259
2260 * ChangeLog, lib/buildcmd.c:
2261 Fixed Svannah bug #17782 ('./' prefix added at start of arg while it should be added at the start of the expansion of {})
2262
2263 * find/ftsfind.c (process_all_startpoints): Set
2264 state.starting_path_length for every pathname argument.
2265 This fixes Savannah bug #18222.
2266
2267 * find/pred.c (pred_prune): -prune should have an effect only if we are
2268 currently considering a directory (Savannah bug #15531).
2269
22702006-10-15 James Youngman <jay@gnu.org>
2271
2272 * lib/buildcmd.c: Fixed Savannah bug #17782, in which "find
2273 -execdir echo "foo {}" runs 'echo ./foo filename' instead of the
2274 correct command 'echo foo ./filename'.
2275
2276 * po/hu.po, po/sl.po: Updated Hungarian and Slovenian po files
2277
22782006-08-21 James Youngman <jay@gnu.org>
2279
2280 * find/parser.c, find/testsuite/Makefile.am, find/testsuite/find.gnu/sv-bug-17490.exp:
2281 Fixed Savannah bug #17490, which was a coiredump when -regex ZZZ was the final test on the command line
2282
22832006-08-20 James Youngman <jay@gnu.org>
2284
2285 * find/parser.c: Merged the fix for the trailing % in "find -printf".
2286
22872006-08-20 Paul Eggert <eggert@cs.ucla.edu>
2288
2289 Port recent fixes for symbolic modes involving X from gnulib,
2290 and clarify the documentation in this area.
2291 * doc/find.texi: Use "file mode bits" when talking about
2292 all the file mode bits (including setuid, setgid, and sticky),
2293 and "permissions" when talking only about permissions bits
2294 (read, write, execute/search). Use "execute/search" to
2295 talk about the x bit, since it means both. You do not need
2296 permission to the linked-to file to follow a symlink for
2297 syscalls like "stat", but you do need search permission for
2298 the directories you traverse. Clarify the explanation of
2299 -perm. Use "that" instead of "which" when "which" isn't
2300 quite correct English.
2301 (Mode Bits): Renamed from Permissions. All uses changed.
2302 * doc/perm.texi: Sync from coreutils 6.0.
2303 * find/defs.h (struct perm_val.val): Now an array of two items,
2304 one for non-directories, and one for directories. This is
2305 to handle symbolic modes like +X correctly.
2306 * find/parser.c (parse_perm): Likewise. Also, adjust to
2307 latest gnulib interface for mode_adjust.
2308 * find/pred.c (pred_perm): Likewise.
2309 * find/testsuite/Makefile.am (EXTRA_DIST_XO): Add find.posix/perm-X.xo.
2310 (EXTRA_DIST_EXP): Add find.posix/perm-X.exp.
2311 * find/testsuite/find.posix/perm-X.exp: New file.
2312 * find/testsuite/find.posix/perm-X.so: New file.
2313
dfcf3a45 jay2008-02-13 23:52:04 +000023142006-08-19 Paul Eggert <eggert@cs.ucla.edu>
09ef63fd jay2007-11-25 11:36:10 +00002315
2316 Port to latest gnulib, and simplify the bootstrapping procedure.
2317 * intl: Remove this directory and everything in it.
2318 * depcomp, install-sh, missing, mkinstalldirs, doc/texinfo.tex:
2319 Remove these files from CVS, as they are now gotten from gnulib.
2320 * README-CVS: Don't recommend "autoreconf -i", as it doesn't work
2321 for us.
2322 * import-gnulib.sh (findutils_files): New var. Grab this stuff
2323 from gnulib.
2324 (findutils_modules): Add fopen-safer; remove stdio-safer. This
2325 adjusts to latest gnulib.
2326 (modules): Remove obsolete reference to intl_modules.
2327 * .cvsignore: Remove stamp-h; add stamp-h1.
2328 * doc/.cvsignore: Add regexprops.texi.
2329 * find/.cvsignore: Add oldfind.
2330 * lib/.cvsignore: Add .deps, regexprops.
2331 * m4/.cvsignore: Add Makefile.
2332 * po/.cvsignore: Add stamp-po.
2333
23342006-08-19 James Youngman <jay@gnu.org>
2335
2336 * locate/testsuite/config/unix.exp, locate/testsuite/locate.gnu/bigprefix1.exp:
2337 Explicit checks for parefixes which are within range of a short, but outside the one-byte range
2338
2339 * locate/testsuite/locate.gnu/bigprefix1.exp, locate/testsuite/locate.gnu/exceedshort.exp, locate/testsuite/locate.gnu/space1st.exp:
2340 New file.
2341
2342 * locate/testsuite/Makefile.am, locate/testsuite/locate.gnu/exceedshort.exp, locate/testsuite/locate.gnu/space1st.exp:
2343 Patch from Tavis Ormandy; check frcode handles initial space end encodes paths with more than 2^16 characters in the common prefix (trivial change)
2344
2345 * locate/frcode.c: Changes to avoid overflows
2346
23472006-08-11 James Youngman <jay@gnu.org>
2348
2349 * locate/frcode.c:
2350 Avoid producing an invalid database if the first item begins with a space
2351
23522006-08-10 James Youngman <jay@gnu.org>
2353
2354 * find/pred.c, import-gnulib.sh, lib/listfile.c:
2355 Updated callers of the gnnulib filemode module so that they work with the 2006-07-09 version of gnulib
2356
2357 * config.rpath: Updated config.rpath from autotools
2358
23592006-08-08 James Youngman <jay@gnu.org>
2360
2361 * locate/locatedb.h:
2362 Automatically verify (at compile time) that the frcode datastream
2363 cannot get desynchronised.
2364
2365 * find/ftsfind.c:
2366 Fixed Savannah bug #10494 (-maxdepth does not yield the same stat savinf in ftsfind as oldfind)
2367
2368 * find/ftsfind.c: display fts_level for find -D search
2369
2370 * find/util.c: Support find -D search
2371
2372 * locate/locate.c:
2373 If the user specified -E but the database is an slocate database, do
2374 not produce a list of files they cannot stat. Issue an error message
2375 explaining the problem.
2376
2377 * locate/locate.c:
2378 Issue states messages in a way which indicates more clearly what's
2379 happening when the numbers are reduced because not every filename
2380 matched the pattern.
2381
2382 * locate/locate.c: Better error checking in drop_privs().
2383
23842006-08-07 James Youngman <jay@gnu.org>
2385
2386 * NEWS, locate/locate.c, locate/locatedb.h:
2387 Added support for slocate database format
2388
2389 * xargs/xargs.c:
2390 Removed unused code (tivial patch from Miloslav Trmac).
2391
2392 * xargs/xargs.c: Removed unused code.
2393
2394 * doc/find.texi:
2395 Clarify that the output format for locate -S differs from BSD's.
2396
2397 * NEWS, find/find.1:
2398 Savannah bug #15360: explain global vs. positional options more clearly in the manual page
2399
2400 * NEWS: Typo in subsection header (* should be **).
2401
2402 * NEWS, find/find.1:
2403 Savannah bug #15360: explain global vs. positional options more clearly in the manual page
2404
2405 * doc/find.texi: Fixed some clumsy phrasing
2406
2407 * NEWS, configure.in:
2408 Now diverging again from the released tarball, so change once more to -CVS version number suffixes
2409
24102006-08-06 James Youngman <jay@gnu.org>
2411
2412 * locate/locate.c: Fixed a typo in a comment.
2413
2414 * NEWS, configure.in: Moving on towards 4.3.2...
2415
2416 Release 4.3.1.
2417
2418 * find/testsuite/config/unix.exp:
2419 Check that we can see the find.o file in the right position relative
2420 to $base_dir to ensure that we are indeed testing the program we just built.
2421
2422 * find/testsuite/config/unix.exp:
2423 Be more paranoid about whether we're really checking the right version
2424 of find.
2425
2426 * NEWS, configure.in: Prepare for release of 4.3.1
2427
2428 * doc/find.texi: Document the -O and -D options
2429
2430 * find/defs.h, find/find.1, find/util.c:
2431 'find -D help' now explains the available debugging options
2432
2433 * po/be.po, po/bg.po, po/ca.po, po/da.po, po/de.po, po/el.po, po/eo.po, po/es.po, po/et.po, po/fi.po, po/findutils.pot, po/fr.po, po/ga.po, po/gl.po, po/hr.po, po/hu.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/lg.po, po/ms.po, po/nl.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/rw.po, po/sk.po, po/sl.po, po/sr.po, po/sv.po, po/tr.po, po/vi.po, po/zh_CN.po, po/zh_TW.po:
2434 Make dist changed all the po files again
2435
24362006-08-05 James Youngman <jay@gnu.org>
2437
2438 * NEWS: Described more changes in 4.3.1.
2439
2440 * locate/testsuite/config/unix.exp:
2441 Set the environment variable so that updatedb knows where to find it; it's not in BINDIR yet during 'make check'
2442
2443 * po/be.po, po/bg.po, po/ca.po, po/da.po, po/de.po, po/el.po, po/eo.po, po/es.po, po/et.po, po/fi.po, po/findutils.pot, po/fr.po, po/ga.po, po/gl.po, po/hr.po, po/hu.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/lg.po, po/ms.po, po/nl.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/rw.po, po/sk.po, po/sl.po, po/sr.po, po/sv.po, po/tr.po, po/vi.po, po/zh_CN.po, po/zh_TW.po:
2444 Make dist changed all the po files again :)
2445
2446 * po/et.po, po/vi.po: UPdated the Estonian and Vietnamese translations
2447
2448 * NEWS, configure.in: Prepare for release of findutils-4.2.28
2449
2450 * po/sv.po, po/tr.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, po/be.po, po/bg.po, po/ca.po, po/da.po, po/de.po, po/el.po, po/eo.po, po/es.po, po/et.po, po/fi.po, po/findutils.pot, po/fr.po, po/ga.po, po/gl.po, po/hr.po, po/hu.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/lg.po, po/ms.po, po/nl.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/rw.po, po/sk.po, po/sl.po, po/sr.po:
2451 Make dist changed all the po files again :)
2452
2453 * configure.in: Added Bulgarian translation.
2454
2455 * po/bg.po: Include Bulgarian translation
2456
2457 * configure.in: Added Bulgarian translation.
2458
2459 * po/et.po, po/vi.po: Updated Estonian and Vietnamese translations
2460
2461 * NEWS: Removed spurious comma.
2462
2463 * NEWS: Listed the updated translations.
2464
2465 * find/parser.c, lib/buildcmd.c, lib/buildcmd.h, xargs/xargs.c:
2466 Fixed Savannah bug#16738, find does not subtract environment size in find .. -exec {} +
2467
2468 * NEWS: Updated the list of bugfixes etc.
2469
24702006-06-15 James Youngman <jay@gnu.org>
2471
2472 * NEWS: Described recent changes
2473
2474 * configure.in: fix to how we invoke the gnulib regex module
2475
2476 * find/find.1:
2477 Savannah bug #16269: avoid confusion over what type of quotes to use
2478 in an example.
2479
2480 * find/parser.c: Option -nowarn should not itself produce a warning
2481
2482 * find/defs.h: Remoevd useless declaration of last_pred
2483
24842006-06-14 James Youngman <jay@gnu.org>
2485
2486 * po/be.po, po/ca.po, po/da.po, po/de.po, po/el.po, po/eo.po, po/es.po, po/et.po, po/fi.po, po/findutils.pot, po/fr.po, po/ga.po, po/gl.po, po/hr.po, po/hu.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/lg.po, po/ms.po, po/nl.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/rw.po, po/sk.po, po/sl.po, po/sr.po, po/sv.po, po/tr.po, po/vi.po, po/zh_CN.po, po/zh_TW.po:
2487 Updated translation files ga pl sv tr nl ca vi bg fr
2488
2489 * locate/updatedb.sh:
2490 Fixed Savannah bug #16579 (su false should be su -c false)
2491
24922006-04-01 James Youngman <jay@gnu.org>
2493
2494 * find/find.c:
2495 Fixed Savannah bug #15800: "Hard link count is wrong" reports wrong
2496 directory name.
2497
24982006-03-31 James Youngman <jay@gnu.org>
2499
2500 * po/hu.po: Updated Hungarian translation
2501
25022006-01-04 James Youngman <jay@gnu.org>
2503
2504 * find/testsuite/find.posix/sizetype.exp, find/testsuite/find.posix/sizetype.xo, find/testsuite/find.posix/typesize.exp, find/testsuite/find.posix/typesize.xo:
2505 Additional tests for -type -size and -size -type
2506
2507 * NEWS, doc/find.texi, find/defs.h, find/find.1, find/find.c, find/ftsfind.c, find/parser.c, find/pred.c, find/testsuite/Makefile.am, find/testsuite/config/unix.exp, find/testsuite/find.gnu/depth-d.exp, find/tree.c, find/util.c, po/be.po, po/ca.po, po/da.po, po/de.po, po/el.po, po/eo.po, po/es.po, po/et.po, po/fi.po, po/findutils.pot, po/fr.po, po/ga.po, po/gl.po, po/hr.po, po/hu.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/lg.po, po/ms.po, po/nl.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/rw.po, po/sk.po, po/sl.po, po/sr.po, po/sv.po, po/tr.po, po/vi.po, po/zh_CN.po, po/zh_TW.po:
2508 Initial implementation of a cost-based optimiser
2509
25102005-12-23 James Youngman <jay@gnu.org>
2511
2512 * find/parser.c: Refactor of parse_[acm]time
2513
2514 * find/defs.h, find/find.c, find/finddata.c, find/ftsfind.c, find/tree.c, find/util.c:
2515 last_pred can be a static in tree.c rather than a global variable
2516
2517 * find/tree.c, find/finddata.c:
2518 Moved some global data out of finddata.o and into static variables in tree.c
2519
2520 * NEWS, find/find.c, find/fstype.c, find/ftsfind.c, find/parser.c, find/pred.c, lib/buildcmd.c, lib/buildcmd.h, lib/regexprops.c, lib/regextype.c, lib/regextype.h, lib/savedirinfo.c, locate/locate.c, xargs/xargs.c:
2521 Fixed many compilation warnings
2522
2523 * find/find.c, find/ftsfind.c, find/util.c:
2524 Evaluating the predicates can change the contents of the data structure (for example to add another exec item)
2525
2526 * find/defs.h, find/find.c, find/ftsfind.c, find/tree.c, find/util.c:
2527 Re-factored a lot of common expression-handling code out of find.c and ftsfind.c, mainly into tree.c
2528
2529 * find/find.c, find/ftsfind.c, find/tree.c:
2530 Savannah bug #15271: more helpful error messages for cases where there is a missing expression
2531
25322005-12-20 James Youngman <jay@gnu.org>
2533
2534 * NEWS, doc/find.texi, find/defs.h, find/find.1, find/find.c, find/ftsfind.c, find/testsuite/Makefile.am, find/testsuite/find.posix/sv-bug-15235.exp, find/testsuite/find.posix/sv-bug-15235.xo, find/tree.c, find/util.c:
2535 Savannah bug #15195: more helpful error messages for 'find . ( )' or 'find . \!'
2536
2537 * ChangeLog: Added entries for recent changes.
2538
2539 * find/defs.h, find/find.c, find/ftsfind.c, find/testsuite/find.posix/bracket-depth.exp, find/util.c:
2540 Further fix to bug# 15235: a leading comma is a filename not an expression
2541
2542 * find/defs.h, find/parser.c, find/testsuite/Makefile.am, find/testsuite/find.posix/empty-parens.exp, find/tree.c:
2543 Accept 'find ( -depth )' but reject 'find ( )'
2544
2545 * po/be.po, po/ca.po, po/da.po, po/de.po, po/el.po, po/eo.po, po/es.po, po/et.po, po/fi.po, po/findutils.pot, po/fr.po, po/ga.po, po/gl.po, po/hr.po, po/hu.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/lg.po, po/ms.po, po/nl.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/rw.po, po/sk.po, po/sl.po, po/sr.po, po/sv.po, po/tr.po, po/vi.po, po/zh_CN.po, po/zh_TW.po:
2546 did make dist
2547
2548 * find/testsuite/find.gnu/delete.exp:
2549 Use the new find program, and the new way of locating it (/ instead of )
2550
2551 * find/testsuite/Makefile.am: Added bracket-depth.exp.
2552
2553 * NEWS, configure.in: We have moved on from 4.3.0
2554
2555 * find/defs.h, find/find.c, find/ftsfind.c, find/testsuite/Makefile.am, find/testsuite/find.gnu/delete.exp, find/testsuite/find.posix/files-not-expressions1.exp, find/testsuite/find.posix/files-not-expressions1.xo, find/testsuite/find.posix/files-not-expressions2.exp, find/testsuite/find.posix/files-not-expressions2.xo, find/testsuite/find.posix/files-not-expressions3.exp, find/testsuite/find.posix/files-not-expressions3.xo, find/util.c:
2556 Avoid getting confused by filename arguments of which the first
2557 character looks like a predicate, for example ',x' or '!x' or
2558 '(x' (Savannah bug #15235).
2559
25602005-12-20 James Youngman <jay@gnu.org>
2561
2562 * find/defs.h, find/find.c, find/ftsfind.c,
2563 find/testsuite/find.posix/bracket-depth.exp, find/util.c: Further
2564 fix to bug# 15235: a leading comma is a filename not an expression
2565
2566 * find/defs.h, find/parser.c, find/testsuite/Makefile.am,
2567 find/testsuite/find.posix/empty-parens.exp, find/tree.c: Accept
2568 'find ( -depth )' but reject 'find ( )'
2569
2570 * find/testsuite/find.gnu/delete.exp: Use the new find program,
2571 and the new way of locating it ($OLDFIND/$FTSFIND instead of $FIND)
2572
2573 * find/testsuite/Makefile.am: Added bracket-depth.exp.
2574
2575 * NEWS, configure.in: We have moved on from 4.3.0
2576
2577 * find/defs.h, find/find.c, find/ftsfind.c,
2578 find/testsuite/Makefile.am, find/testsuite/find.gnu/delete.exp,
2579 find/testsuite/find.posix/files-not-expressions1.exp,
2580 find/testsuite/find.posix/files-not-expressions1.xo,
2581 find/testsuite/find.posix/files-not-expressions2.exp,
2582 find/testsuite/find.posix/files-not-expressions2.xo,
2583 find/testsuite/find.posix/files-not-expressions3.exp,
2584 find/testsuite/find.posix/files-not-expressions3.xo, find/util.c:
2585 Avoid getting confused by filename arguments of which the first
2586 character looks like a predicate, for example ',x' or '!x' or '(x'
2587 (Savannah bug #15235).
2588
25892005-12-19 James Youngman <jay@gnu.org>
2590
2591 * find/testsuite/config/unix.exp:
2592 Run every test twice, once with the old (non-fts) binary and once with
2593 the new (fts-enabled) binary.
2594
25952005-12-19 Eric Blake <ebb9@byu.net>
2596
2597 * find/testsuite/Makefile.am,
2598 find/testsuite/find.posix/sv-bug-15235.xo,
2599 find/testsuite/find.posix/sv-bug-15235.exp: New tests for Savannah
2600 bug 15235.
2601
2602 * NEWS, find/find.1, doc/find.texi (Invoking find): Document bug
2603 fix for Savannah bug 15235.
2604
26052005-12-16 James Youngman <jay@gnu.org>
2606
2607 * xargs/xargs.1, xargs/xargs.c: Fixed bug# 15211, that xargs
2608 --show-limits is not documented in the manpage or in the usage
2609 message
2610
26112005-12-12 James Youngman <jay@gnu.org>
2612
2613 Release 4.3.0.
2614
2615 * find/testsuite/find.gnu/access.exp:
2616 Don't leave junk files lying around the place
2617
2618 * README-CVS: Update the the instructions for getting gnulib; the
2619 CVS arrangements at Savannah have changed.
2620
2621 * ChangeLog, NEWS, doc/find.texi, doc/perm.texi, find/defs.h, find/parser.c:
2622 Merged changes from 4.2.x branch again
2623
2624 * NEWS, doc/find.texi, find/defs.h, find/find.c, find/ftsfind.c,
2625 find/parser.c, find/pred.c, find/util.c, lib/listfile.c,
2626 lib/listfile.h: Initial code to allow control over how -ls quote
2627 (or does not quote) control characters; not enabled yet
2628
26292005-12-11 James Youngman <jay@gnu.org>
2630
2631 * ChangeLog, THANKS, xargs/xargs.c:
2632 Fixed spelling errors in Bob Proulx's name. Sorry, Bob.
2633
26342005-12-10 James Youngman <jay@gnu.org>
2635
2636 * doc/perm.texi:
2637 Aaron Hawley: Updated perm.texi from the coreutils distribution
2638
2639 * find/parser.c:
2640 Avoid using entries which have the same name as POSIX library
2641 functions (fprintf, printf, exec) as the implementation is allowed to
2642 #define these. That generates hard-to-grok compilation errors.
2643
26442005-12-10 Andreas Metzler <gnu@downhill.at.eu.org>
2645
2646 * ChangeLog, NEWS, configure.in, find/defs.h, find/parser.c:
2647 Applied patch from Andreas Metzler fixing Savannah bug #15181:
2648 implicit declaration of parse_openparen
2649
26502005-12-08 James Youngman <jay@gnu.org>
2651
2652 * doc/find.texi: Typo and spelling corrections from Aaron Hawley
2653
26542005-12-05 James Youngman <jay@gnu.org>
2655
2656 * Released findutils-4.2.27
2657
26582005-12-05 James Youngman <jay@gnu.org>
2659
2660 * doc/find.texi, find/find.1, locate/locate.1, xargs/xargs.1:
2661 Savannah patch #3775 from Aaron Hawley: reconciling man pages
2662 differences; did not apply the patch, but resolved all the
2663 remaining issues manually by updating the documentation (mostly
2664 the Texinfo documentation, which was missing a number of specific
2665 technical statements about the behaviour of various options)
2666
26672005-12-04 James Youngman <jay@gnu.org>
2668
2669 * doc/find.texi: Document --show-limits
2670
2671 * xargs/xargs.c:
2672 Correctly display the size of the argument buffer we really allocated.
2673
2674 * doc/find.texi, find/find.1, find/parser.c, find/pred.c, NEWS:
2675 Savannah bug #14748 (which this change does NOT fix): issue
2676 warning of future changes in the behaviour of -perm /000
2677
26782005-11-30 James Youngman <jay@gnu.org>
2679
2680 * xargs/xargs.c:
2681 Typo correction from Benno Schulenberg <benno@nietvergeten.nl>
2682 (trivial change)
2683
26842005-11-29 James Youngman <jay@gnu.org>
2685
2686 * xargs/xargs.c:
2687 Typo "Ilegal"; change to "Invalid" since this is not really illegal!
2688 Bug report by Primoz Peterlin.
2689
2690 * lib/regexprops.c, xargs/xargs.c:
2691 Prefer the word 'Invalid' or the phrase 'not allowed' over
2692 'Illegal', as per the GNU coding standards, and as per the
2693 suggestion from Benno Schulenberg
2694
26952005-11-24 James Youngman <jay@gnu.org>
2696
2697 * NEWS, lib/buildcmd.c, lib/buildcmd.h: Merge to trunk from 4.2.x fixes
2698
2699 * lib/buildcmd.h:
2700 Deleted inaccurate comment about the default value of ctl->args_per_exec.
2701
2702 * NEWS, lib/buildcmd.c, lib/buildcmd.h:
2703 Be more conservative about the total number of arguments we will
2704 allow (to avoid exec limits on Linux/PPC)
2705
27062005-11-23 James Youngman <jay@gnu.org>
2707
2708 * NEWS: Bug #14921 has been fixed.
2709
2710 * find/fstype.c:
2711 Savannah bug #14921: when a Linux bind filesystem is in use, find
2712 would expand '-printf %F' to 'none' if a bind mount targetted the same
2713 filesystem as the one containing the file to be described.
2714
2715 * NEWS: Updated to describe recent changes
2716
2717 * doc/find.texi, find/find.1: Documented find -printf %M
2718
2719 * lib/buildcmd.c, xargs/testsuite/Makefile.am,
2720 xargs/testsuite/xargs.posix/arg_max_32bit_linux_bug.exp,
2721 xargs/testsuite/xargs.posix/arg_max_32bit_linux_bug.xo,
2722 xargs/testsuite/xargs.posix/arg_max_64bit_linux_bug.exp,
2723 xargs/testsuite/xargs.posix/arg_max_64bit_linux_bug.xo:
2724 Ensure that the test suite still passes even if the current
2725 system's value of ARG_MAX is different from the development/test
2726 system
2727
2728 * lib/buildcmd.c: reindent and untabify
2729
2730 * configure.in: The CVS code is moving on from the previous release.
2731
27322005-11-22 James Youngman <jay@gnu.org>
2733
2734 * ChangeLog: Updated with recent changes.
2735
27362005-11-21 James Youngman <jay@gnu.org>
2737
2738 * locate/testsuite/config/unix.exp:
2739 Even if we expect locate to return a nonzero status, the test should
2740 still fail if updatedb fails!
2741
2742 * locate/testsuite/locate.gnu/ignore_case2.exp:
2743 Set the current directory for updatedb. This test case is supposed to
2744 fail because the filename is not matched, not because updatedb fails!
2745
2746 * locate/updatedb.sh:
2747 Check the binaries actually exist in the place we expect.
2748
27492005-11-20 James Youngman <jay@gnu.org>
2750
2751 * locate/locate.1, xargs/xargs.1: Escape '-' as '\-' where appropriate.
2752
2753 * find/find.1:
2754 Escape '-' as '\-' where appropriate. Fixes last part of bug #14556.
2755
27562005-11-19 James Youngman <jay@gnu.org>
2757
2758 * doc/find.texi, find/find.1:
2759 Applied edited form of Andreas Metzler's -perm /mode documentation
2760 patch resolving Savannah bug #14619.
2761
2762 * lib/extendbuf.c:
2763 In the success case, extendbuf() should preserve the previous value of
2764 errno. Fixes Savannah bug #14842.
2765
2766 * xargs/testsuite/Makefile.am: Added new test files
2767
2768 * find/find.1:
2769 Correctly indicate the default regular expression syntax (fixes
2770 Savannah bug #14836).
2771
2772 * NEWS, configure.in: Released findutils-4.2.26
2773
2774 * ChangeLog, NEWS, lib/buildcmd.c,
2775 xargs/testsuite/inputs/16383-ys.xi,
2776 xargs/testsuite/inputs/32767-ys.xi,
2777 xargs/testsuite/xargs.posix/arg_max_32bit_linux_bug.exp,
2778 xargs/testsuite/xargs.posix/arg_max_32bit_linux_bug.xo,
2779 xargs/testsuite/xargs.posix/arg_max_64bit_linux_bug.exp,
2780 xargs/testsuite/xargs.posix/arg_max_64bit_linux_bug.xo: Applied
2781 bugfix from Jim Meyering (tiny change), where many short arguments
2782 would cause xargs (and probably find -exec .. {} +) to fail
2783 because execve() returns E2BIG, which we should avoid
2784
2785 * xargs/testsuite/inputs/16383-ys.xi,
2786 xargs/testsuite/inputs/32767-ys.xi,
2787 xargs/testsuite/xargs.posix/arg_max_32bit_linux_bug.exp,
2788 xargs/testsuite/xargs.posix/arg_max_32bit_linux_bug.xo,
2789 xargs/testsuite/xargs.posix/arg_max_64bit_linux_bug.exp,
2790 xargs/testsuite/xargs.posix/arg_max_64bit_linux_bug.xo: New file.
2791
2792 * po/be.po, ca.po, da.po, de.po, el.po, eo.po, es.po, et.po, fi.po,
2793 findutils.pot, fr.po, ga.po, gl.po, hr.po, hu.po, id.po, it.po,
2794 ja.po, ko.po, lg.po, ms.po, nl.po, pl.po, pt.po, pt_BR.po, ro.po,
2795 ru.po, rw.po, sk.po, sl.po, sr.po, sv.po, tr.po, vi.po, zh_CN.po,
2796 zh_TW.po: Updated Portuguese .po file and did update-po
2797
27982005-11-18 Jim Meyering <jim@meyering.net> (tiny change)
2799
2800 * lib/buildcmd.c (bc_push_arg): When exec'ing, don't exceed
2801 Linux's limit on the maximum number of command line arguments.
2802
28032005-11-11 James Youngman <jay@gnu.org>
2804
2805 * NEWS, find/find.c, find/fstype.c: Savannah bug #14922: if we need the
2806 list of mounted filesystems but it is not available, exit fatally
2807 with a message. If it is not available but we don't need it,
2808 there is no need for an error.
2809
2810 * po/ro.po, ru.po, rw.po, sk.po, sl.po, sr.po, sv.po, tr.po, vi.po,
2811 zh_CN.po, zh_TW.po, ko.po, lg.po, ms.po, nl.po, pl.po, pt.po,
2812 pt_BR.po, be.po, ca.po, da.po, de.po, el.po, eo.po, es.po, et.po,
2813 fi.po, findutils.pot, fr.po, ga.po, gl.po, hr.po, hu.po, id.po,
2814 it.po, ja.po: Updated Polish translation
2815
28162005-10-31 James Youngman <jay@gnu.org>
2817
2818 * doc/find.texi:
2819 Removed redundant additional description of "--regextype".
2820
28212005-10-08 James Youngman <jay@gnu.org>
2822
2823 * find/find.c, lib/regextype.c: Fixed Savannah bug #14616, which
2824 was that c99 code had crept in and it didn't compile on c89
2825 compilers
2826
2827 * doc/find.texi: Savannah patch #4371 from Andreas Metzler; the
2828 argument of -I is mandatory
2829
28302005-09-21 James Youngman <jay@gnu.org>
2831
2832 * xargs/xargs.1, xargs/xargs.c: Clarified the -E option
2833
28342005-09-20 James Youngman <jay@gnu.org>
2835
2836 * NEWS, configure.in, doc/find.texi, xargs/xargs.1, xargs/xargs.c:
2837 Documentation clarification: -L and -I take a mandatory argument;
2838 -l and -i do not
2839
28402005-09-17 James Youngman <jay@gnu.org>
2841
2842 * xargs/xargs.c:
2843 Fixed Savannah bug #14550 - if environment is too large to allow
2844 exec() to work, we cannot even use "xargs --help".
2845
2846 * find/find.1:
2847 Avoid the use of -perm +mode, using -perm /mode instead. From comment
2848 by Andreas Metzler (though I didn't read the patch).
2849
2850 * ChangeLog, doc/find.texi, find/find.1, xargs/xargs.1:
2851 Typo fix from A Costa (tiny change)
2852
2853 * NEWS: Corrections for find manual page - symbolic permissions.
2854
2855 * find/find.1:
2856 Corrected an inaccuracy in the EXAMPLES section - in symbolic modes,
2857 'o' stands for 'others' and 'u' stands for 'user' (i.e. the owner).
2858
28592005-09-17 A Costa <agcosta@gis.net> (tiny change)
2860
2861 docs/find.texi: Fixed typo
2862 find/find.1: Fixed typo
2863 xargs/xargs.1: Fixed typo
2864
28652005-09-17 James Youngman <jay@gnu.org>
2866
2867 * NEWS: Corrections for find manual page - symbolic permissions.
2868
2869 * find/find.1:
2870 Corrected an inaccuracy in the EXAMPLES section - in symbolic modes,
2871 'o' stands for 'others' and 'u' stands for 'user' (i.e. the owner).
2872
28732005-09-06 James Youngman <jay@gnu.org>
2874
2875 * xargs/xargs.c: Typo in "IEEE" in a comment.
2876
28772005-09-04 James Youngman <jay@gnu.org>
2878
2879 * find/defs.h, find/find.c, find/parser.c, find/pred.c,
2880 Work around compilation failure with GCC 4 and AIX 5.1, in which
2881 open is #defined to open64
2882
2883 * po/be.po, ca.po, da.po, de.po, el.po, eo.po, es.po, et.po, fi.po,
2884 findutils.pot, fr.po, ga.po, gl.po, hr.po, hu.po, id.po, it.po,
2885 ja.po, ko.po, lg.po, ms.po, nl.po, pl.po, pt.po, pt_BR.po, ro.po,
2886 ru.po, rw.po, sk.po, sl.po, sr.po, sv.po, tr.po, vi.po, zh_CN.po,
2887 zh_TW.po: Work around compilation failure with GCC 4 and AIX 5.1,
2888 in which open is #defined to open64
2889
28902005-09-03 James Youngman <jay@gnu.org>
2891
2892 * find/testsuite/find.gnu/quit.exp: Fixed Savannah bug#14390, by
2893 avoiding an accidental assumption in quit.exp that directory
2894 entries are returned by readir() in any particular order
2895
2896 * NEWS, configure.in, doc/find.texi, xargs/testsuite/Makefile.am,
2897 xargs/testsuite/inputs/helloworld.xi,
2898 xargs/testsuite/xargs.gnu/delim-o.exp,
2899 xargs/testsuite/xargs.gnu/delim-o.xo, xargs/xargs.1,
2900 xargs/xargs.c: Added the --delimiter option to xargs, resolving
2901 Savannah support request sr #102914
2902
2903 * ChangeLog, NEWS, configure.in: Released findutils-4.2.25
2904
2905 * po/sr.po, sv.po, tr.po, vi.po, zh_CN.po, zh_TW.po, sl.po, be.po,
2906 ca.po, da.po, de.po, el.po, eo.po, es.po, et.po, fi.po,
2907 findutils.pot, fr.po, ga.po, gl.po, hr.po, hu.po, id.po, it.po,
2908 ja.po, ko.po, lg.po, ms.po, nl.po, pl.po, pt.po, pt_BR.po, ro.po,
2909 ru.po, rw.po, sk.po: Did update-po
2910
29112005-09-02 James Youngman <jay@gnu.org>
2912
2913 * doc/find.texi, find/find.1:
2914 Improved documentation in response to Savannah bug #14376
2915
29162005-09-01 James Youngman <jay@gnu.org>
2917
2918 * po/ChangeLog, ChangeLog: Updated with recent changes.
2919
2920 * locate/locate.c: Removed unused struct stringbuf.soffs.
2921
2922 * doc/find.texi: Typo fix from Jim Meyering (trivial change)
2923
29242005-09-01 Jim Meyering <jim@meyering.net>
2925
2926 * locate/locate.c (struct stringbuf) [soffs]: Remove unused member.
2927 (locate): Remove initialization, too.
2928
29292005-09-01 James Youngman <jay@gnu.org>
2930
2931 * doc/find.texi: Typo fix from Jim Meyering (trivial change)
2932
29332005-08-30 James Youngman <jay@gnu.org>
2934
2935 * find/defs.h, find/find.c, find/fstype.c, find/pred.c:
2936 Attempted fix for compilation when AFS is #defined
2937
29382005-08-24 James Youngman <jay@gnu.org>
2939
2940 * po/sl.po: Updated from Translation Project
2941
29422005-08-13 James Youngman <jay@gnu.org>
2943
2944 * find/find.1: Remind the user to quote the pattern argument to -iname.
2945
29462005-08-12 James Youngman <jay@gnu.org>
2947
2948 * NEWS: Corrected typo.
2949
29502005-08-11 James Youngman <jay@gnu.org>
2951
2952 * po/fr.po: Updated French translation and added new PO file zh_TW.po
2953 for Chinese (traditional)
2954
29552005-08-09 James Youngman <jay@gnu.org>
2956
2957 * NEWS: Indicate that regexprops.texi is built on Cygin now that
2958 Savannah bug #14025 has been fixed.
2959
2960 * lib/Makefile.am, lib/regexprops.c: Fixed compilation failure on
2961 Cygwin - Savannah Bug #14025 (tiny change, three lines), reported
2962 and fixed by Eric Blake
2963
2964 * find/testsuite/Makefile.am,
2965 find/testsuite/find.posix/sv-bug-14070.exp,
2966 find/testsuite/find.posix/sv-bug-14070.xo: Added new test case for
2967 SourceForge bug #14070
2968
2969 * find/testsuite/find.posix/sv-bug-14070.exp,
2970 find/testsuite/find.posix/sv-bug-14070.xo: New file.
2971
2972 * find/defs.h, find/ftsfind.c, find/pred.c, find/util.c:
2973 Ensure we can still build with --enable-debug
2974
2975 * find/testsuite/config/unix.exp,
2976 find/testsuite/find.gnu/execdir-one.exp,
2977 find/testsuite/find.gnu/execdir-root-only.exp,
2978 find/testsuite/find.gnu/sv-bug-12230.exp: If . is on $PATH,
2979 indicate that the -execdir tests cannot be carried out, as opposed
2980 to indicating that those tests fail
2981
29822005-08-07 James Youngman <jay@gnu.org>
2983
2984 * NEWS: Indicated that some test suite files have been renamed.
2985
2986 * xargs/testsuite/Makefile.am, xargs/testsuite/inputs/eof.xi,
2987 xargs/testsuite/inputs/eof1.xi,
2988 xargs/testsuite/xargs.sysv/eof.exp,
2989 xargs/testsuite/xargs.sysv/eof.xo,
2990 xargs/testsuite/xargs.sysv/eof1.exp,
2991 xargs/testsuite/xargs.sysv/eof1.xo,
2992 xargs/testsuite/xargs.posix/lc_l2.exp,
2993 xargs/testsuite/xargs.posix/lc_l2.xo,
2994 xargs/testsuite/xargs.sysv/l2.exp,
2995 xargs/testsuite/xargs.sysv/l2.xo,
2996 xargs/testsuite/xargs.sysv/lc_l2.exp,
2997 xargs/testsuite/xargs.sysv/lc_l2.xo,
2998 xargs/testsuite/xargs.posix/L2.exp,
2999 xargs/testsuite/xargs.posix/l2.exp,
3000 xargs/testsuite/xargs.posix/L2.xo,
3001 xargs/testsuite/xargs.posix/l2.xo,
3002 xargs/testsuite/xargs.posix/uc_L2.exp,
3003 xargs/testsuite/xargs.posix/uc_L2.xo: Work around problems with
3004 CVS clients on case-insentitive operating systems
3005
3006 * debian/Changelog: Removed Changelog file since changelog is the
3007 one we should be using and having both files upsets Cygwin
3008 systems which cannot tell the dirrerence between changelog and
3009 Changelog
3010
3011 * find/ftsfind.c:
3012 If DEBUG is defined, show the symbolic names fro fts_info values.
3013
3014 * find/ftsfind.c: Added additional diagnostics.
3015
30162005-08-02 James Youngman <jay@gnu.org>
3017
3018 * po/tr.po, vi.po:
3019 Updated Vietnamese and Turkish translations from Translation Project
3020
3021 * po/sl.po, sr.po, sv.po, tr.po, vi.po, zh_CN.po, be.po, ca.po, da.po, de.po, el.po, eo.po, es.po, fi.po, findutils.pot, fr.po, ga.po, gl.po, hr.po, hu.po, id.po, it.po, ja.po, ko.po, lg.po, ms.po, pl.po, pt.po, pt_BR.po, ru.po, rw.po:
3022 Did update-po
3023
3024 * po/et.po, sk.po, ro.po:
3025 Updated Romanian, Slovak and Estonian translations from Translation Project
3026
30272005-08-01 James Youngman <jay@gnu.org>
3028
3029 * ABOUT-NLS, INSTALL, Makefile.am, configure.in, depcomp,
3030 doc/texinfo.tex, install-sh, missing, mkinstalldirs: By adding the
3031 missing AM_GNU_GETTEXT_VERSION call, allowed autopoint to update
3032 those files of which it has updated copies.
3033
3034 * po/Makevars.template, po/Makefile.in.in, po/findutils.pot:
3035 Using AM_GNU_GETTEXT_VERSION, allowed gettext to update the infrastructure
3036
3037 * po/Rules-quot, po/boldquot.sed, po/en@boldquot.header, po/en@quot.header, po/insert-header.sin, po/quot.sed:
3038 Files added by autopoint now that we are using AM_GNU_GETTEXT_VERSION
3039
3040 * find/testsuite/Makefile.am: Added find.gnu./perm-slash.{exp,xo}.
3041
3042 * po/nl.po: Updated Dutch translation from Translation Project
3043
3044 * po/ga.po: Updated Irish translation from the Translation Project
3045
3046 * po/da.po: Updated Danish translation from the Translation Project
3047
3048 * po/ca.po: Updated Catalan translation from Translation Project
3049
30502005-07-31 James Youngman <jay@gnu.org>
3051
3052 * find/testsuite/excuses.txt: We now have tests for -perm.
3053
3054 * NEWS, configure.in, find/parser.c,
3055 find/testsuite/find.gnu/perm-slash.exp,
3056 find/testsuite/find.gnu/perm-slash.xo: Fixed bug which caused find
3057 -perm /440 to be treated the same as find -perm 440
3058
3059 * find/testsuite/Makefile.am:
3060 Generic tests for -perm -NNN and -perm NNN
3061
3062 * find/testsuite/excuses.txt: New file - list of test cases that
3063 still need to be written, along with excuses why they haven't been
3064 done yet
3065
3066 * find/testsuite/find.posix/perm-vanilla.exp,
3067 find/testsuite/find.posix/perm-vanilla.xo: Generic tests for -perm
3068 -NNN and -perm NNN
3069
3070 * find/testsuite/find.gnu/inum.exp:
3071 Ensure that the test would fail if -inum just always returned true
3072
3073 * find/testsuite/Makefile.am, find/testsuite/find.gnu/ilname.exp,
3074 find/testsuite/find.gnu/ilname.xo,
3075 find/testsuite/find.gnu/inum.exp, find/testsuite/find.gnu/inum.xo,
3076 find/testsuite/find.gnu/lname.exp,
3077 find/testsuite/find.gnu/lname.xo,
3078 find/testsuite/find.gnu/xtype.exp,
3079 find/testsuite/find.gnu/xtype.xo,
3080 find/testsuite/find.posix/links.exp,
3081 find/testsuite/find.posix/links.xo: New test cases for -ilname,
3082 -inum, -lname, -xtype
3083
3084 * find/testsuite/Makefile.am, find/testsuite/find.gnu/delete.exp,
3085 find/testsuite/find.gnu/delete.xo,
3086 find/testsuite/find.gnu/iregex1.exp,
3087 find/testsuite/find.gnu/iregex1.xo,
3088 find/testsuite/find.gnu/regex1.exp,
3089 find/testsuite/find.gnu/regex1.xo,
3090 find/testsuite/find.gnu/regex2.exp,
3091 find/testsuite/find.gnu/regex2.xo,
3092 find/testsuite/find.gnu/samefile-copy.exp,
3093 find/testsuite/find.gnu/samefile-copy.xo,
3094 find/testsuite/find.gnu/samefile-link.exp,
3095 find/testsuite/find.gnu/samefile-link.xo,
3096 find/testsuite/find.gnu/samefile-same.exp,
3097 find/testsuite/find.gnu/samefile-same.xo,
3098 find/testsuite/find.gnu/samefile-symlink.exp,
3099 find/testsuite/find.gnu/samefile-symlink.xo: Further test cases
3100
3101 * find/find.1: Indicate that -delete implies -depth (find.texi
3102 already mentioned this).
3103
3104 * find/testsuite/Makefile.am:
3105 Brought the list of .exp and .xo files in Makefile.am into sync with
3106 the actual contents of the CVS repository.
3107
3108 * find/testsuite/Makefile.am, find/testsuite/find.gnu/depth-d.exp,
3109 find/testsuite/find.gnu/depth-d.xo,
3110 find/testsuite/find.gnu/empty.exp,
3111 find/testsuite/find.gnu/empty.xo,
3112 find/testsuite/find.gnu/execdir-one.exp,
3113 find/testsuite/find.gnu/execdir-one.xo,
3114 find/testsuite/find.gnu/false.exp,
3115 find/testsuite/find.gnu/false.xo,
3116 find/testsuite/find.gnu/follow-basic.exp,
3117 find/testsuite/find.gnu/follow-basic.xo,
3118 find/testsuite/find.gnu/gnu-or.exp,
3119 find/testsuite/find.gnu/gnu-or.xo,
3120 find/testsuite/find.gnu/gnuand.exp,
3121 find/testsuite/find.gnu/gnuand.xo,
3122 find/testsuite/find.gnu/gnunot.exp,
3123 find/testsuite/find.gnu/gnunot.xo,
3124 find/testsuite/find.gnu/iname.exp,
3125 find/testsuite/find.gnu/iname.xo,
3126 find/testsuite/find.gnu/ipath.exp,
3127 find/testsuite/find.gnu/ipath.xo,
3128 find/testsuite/find.gnu/iwholename.exp,
3129 find/testsuite/find.gnu/iwholename.xo,
3130 find/testsuite/find.gnu/path.exp, find/testsuite/find.gnu/path.xo,
3131 find/testsuite/find.gnu/print0.exp,
3132 find/testsuite/find.gnu/print0.xo,
3133 find/testsuite/find.gnu/quit.exp, find/testsuite/find.gnu/quit.xo,
3134 find/testsuite/find.gnu/true.exp, find/testsuite/find.gnu/true.xo,
3135 find/testsuite/find.gnu/wholename.exp,
3136 find/testsuite/find.gnu/wholename.xo,
3137 find/testsuite/find.posix/and.exp,
3138 find/testsuite/find.posix/and.xo,
3139 find/testsuite/find.posix/exec-one.exp,
3140 find/testsuite/find.posix/exec-one.xo,
3141 find/testsuite/find.posix/grouping.exp,
3142 find/testsuite/find.posix/grouping.xo,
3143 find/testsuite/find.posix/name.exp,
3144 find/testsuite/find.posix/name.xo,
3145 find/testsuite/find.posix/posixnot.exp,
3146 find/testsuite/find.posix/posixnot.xo,
3147 find/testsuite/find.posix/prune.exp,
3148 find/testsuite/find.posix/prune.xo: Added new test cases for many
3149 of the actions and tests of find
3150
3151 * find/find.c (default_prints):
3152 not a static function, so do not declare it as one.
3153
3154 * m4/withfts.m4: Fixed underquoted definition of FIND_WITH_FTS.
3155 [this change is currently on a branch only]
3156
31572005-07-30 James Youngman <jay@gnu.org>
3158
3159 * find/finddata.c, find/ftsfind.c, find/parser.c, find/pred.c,
3160 find/util.c, m4/Makefile.am, m4/withfts.m4: Initial attempt to
3161 convert find to use gnulib's fts()
3162 [this change is currently on a branch only]
3163
3164 * find/finddata.c, find/ftsfind.c, m4/withfts.m4: New file.
3165 [this change is currently on a branch only]
3166
3167 * NEWS, configure.in, find/Makefile.am, find/defs.h, find/find.c,
3168 import-gnulib.sh: Initial attempt to convert find to use gnulib's
3169 fts() [this change is currently on a branch only]
3170
31712005-07-29 James Youngman <jay@gnu.org>
3172
3173 * NEWS, configure.in
3174 Prepared for the release of findutils-4.2.24
3175
3176 * ChangeLog: Updated with recent changes.
3177
3178 * NEWS, find/find.1, doc/find.texi:
3179 Indicate that -ok and -okdir redirect stdin from /dev/null.
3180
3181 * NEWS: Explain the directory link count change more throroughly.
3182
3183 * NEWS: Fixed bug #13973.
3184
3185 * find/pred.c (pred_fprintf): Fix Savannah bug #13973: Modify the
3186 handling of -printf %Y so that it no longer modifies stat_buf
3187
3188 * find/testsuite/find.gnu/printf-symlink.exp,
3189 find/testsuite/find.gnu/printf-symlink.xo: Detect Savannah bug
3190 #13973: pollution of stat_buf by the %Y directive (trivial change
3191 from Andreas Metzler)
3192
3193 * INSTALL, depcomp, doc/texinfo.tex, install-sh, missing, mkinstalldirs:
3194 Updated auxilliary files from the automake-1.9 distribution
3195
3196 * configure.in:
3197 Introduce new Automake conditional, CROSS_COMPILING, true when we are corss compiling
3198
3199 * find/find.c:
3200 If we decline to follow a symbolic link due to the safety check, issue a more self-explanatory warning message
3201
3202 * lib/Makefile.am: Don't build regexprops if we are cross compiling
3203
3204 * doc/Makefile.am:
3205 Depend on the regex.h file rather than the 'regexprops' binary,
3206 because the header file will always exist even if we are doing "make
3207 dist". Otherwise "make distcheck" fails because it tries to rebuild
3208 find.info while the source-directory is read-only.
3209
32102005-07-28 James Youngman <jay@gnu.org>
3211
3212 * find/find.1:
3213 Say "other users" rather than "rest of the world" when talking about
3214 Unix permissions. Fixes Savannah bug #4246.
3215
32162005-07-27 James Youngman <jay@gnu.org>
3217
3218 * xargs/testsuite/Makefile.am: Added new test case 'childfail.exp'.
3219
3220 * doc/find.texi:
3221 Updated the description of the safe-dir-change operation to reflect
3222 what find now does on systems that lack O_NOFOLLOW.
3223
3224 * NEWS, find/parser.c: Indicate in the output of find --version if
3225 the leaf optimisation is enabled or not
3226
3227 * find/find.c: Fixed typo.
3228
3229 * find/find.c: If the link count of a directory starts off less
3230 than two, disable the leaf optimisation for this directory.
3231
32322005-07-26 James Youngman <jay@gnu.org>
3233
3234 * lib/regexprops.c: Further small corrections from Karl.
3235
3236 * doc/find.texi:
3237 Reordered the sections in the manual to put the "Common Tasks" and
3238 "Worked Examples" chapters together.
3239
3240 * configure.in, find/find.c: Allow the leaf optimisation to be
3241 disabled by default with the configure option
3242 --disable-leaf-optimisation
3243
3244 * find/find.c: Removed old code for antuqie version of savedir().
3245
3246 * lib/regextype.c: Put the syntaxes in alphabetical order.
3247
3248 * lib/regexprops.c: Karl made some more readability suggestions.
3249
32502005-07-24 James Youngman <jay@gnu.org>
3251
3252 * doc/Makefile.am: If the regexprops program has changed we should
3253 re-run it, since it will probably now produce different output
3254
3255 * lib/regextype.h:
3256 Allow the caller to detect if one regex type is identical to another.
3257
3258 * configure.in:
3259 Define the preprocessor macro FINDUTILS for that code int he lib/
3260 directory can be slightly more reusable.
3261
3262 * lib/regextype.c:
3263 Allow the caller to detect if one regex type is identical to another.
3264
3265 * lib/regexprops.c:
3266 Made Texinfo style corrections suggested by Karl Berry.
3267
32682005-07-22 James Youngman <jay@gnu.org>
3269
3270 * xargs/testsuite/xargs.posix/childfail.exp, xargs/xargs.c: Fix
3271 Savannah bug #13878, in which xargs deals incorrectly with child
3272 failure, returning 0 when it should return 123
3273
32742005-07-17 James Youngman <jay@gnu.org>
3275
3276 * find/find.1: (tiny change) Corrections by Greg Wooledge
3277
32782005-07-16 James Youngman <jay@gnu.org>
3279
3280 * doc/find.texi: Updates following comments by Dave Gilbert.
3281
3282 * NEWS: Corrected a typo.
3283
3284 * doc/find.texi:
3285 Added in the example about updating an aggregate timestamp file.
3286
32872005-07-15 James Youngman <jay@gnu.org>
3288
3289 * po/da.po: Updated Danish translation from translation project
3290
32912005-07-14 James Youngman <jay@gnu.org>
3292
3293 * NEWS, doc/Makefile.am, doc/find.texi, lib/Makefile.am,
3294 lib/regexprops.c, lib/regextype.c, lib/regextype.h: Added
3295 --regextype and -regextype options to locate and find
3296 respectively, and documented these
3297
3298 * doc/find.texi: We use GNU Emacs regexps by default now.
3299
3300 * doc/find.texi:
3301 We require GNU sort in order for locate to handle newlines correctly,
3302 not just GNU find.
3303
33042005-07-10 James Youngman <jay@gnu.org>
3305
3306 * doc/find.texi:
3307 Applied several documentation improvement patches from Aaron Hawley
3308
3309 * ChangeLog, NEWS: Updated with recent changes.
3310
3311 * NEWS: Recent gnulib changed have fixed -iregex
3312
3313 * doc/find.texi, xargs/xargs.1:
3314 Tiny patch from Andreas Metzler: xargs -I is like xargs -i, but the latter is deprecated
3315
33162005-07-06 James Youngman <jay@gnu.org>
3317
3318 * find/defs.h, find/find.c, find/parser.c, find/pred.c:
3319 Fixed Savannah bug #13650; programs run by -exec cannot read stdin
3320
33212005-07-04 James Youngman <jay@gnu.org>
3322
3323 * NEWS: *** empty log message ***
3324
3325 * doc/find.texi:
3326 Added a "Worked Examples" section. It currently only contains a
3327 (long) example about deleting files.
3328
3329 * .cvsignore: Some extra stuff to ignore.
3330
33312005-07-03 James Youngman <jay@gnu.org>
3332
3333 * find/Makefile.am: Don't need regexprops.c really...
3334
3335 * lib/regextype.c, lib/regextype.h:
3336 New files for selecting regex type based on a keyword
3337
3338 * locate/locate.1: Documented the fact that we now use Emacs-style
3339 regexps, not POSIX EREs, for compatibility with find -regex.
3340
3341 * lib/Makefile.am, locate/locate.c, doc/find.texi,
3342 find/Makefile.am, find/defs.h, find/find.1, find/find.c,
3343 find/parser.c: Fixed Savannah bug #13495: find now uses
3344 Emacs-style regexps by default
3345
33462005-07-02 James Youngman <jay@gnu.org>
3347
3348 * configure.in, find/defs.h, find/fstype.c, find/parser.c,
3349 intl/dcigettext.c, lib/buildcmd.c, lib/listfile.c,
3350 lib/savedirinfo.c, locate/locate.c, xargs/xargs.c: Assume unistd.h
3351 is present - avoid using HAVE_UNISTD_H
3352
33532005-07-01 Jim Meyering <jim@meyering.net>
3354
3355 With `-fprint F' or `-fprintf F', don't write diagnostics
3356 to F when stderr is closed.
3357
3358 * find/parser.c: Include "stdio-safer.h".
3359 (open_output_file): Use fopen_safer, not fopen.
3360 * import-gnulib.sh (findutils_modules): Add stdio-safer.
3361
33622005-07-01 James Youngman <jay@gnu.org>
3363
3364 * doc/find.texi:
3365 Aaron pointed out a potentially-confusing sentence. I fixed it.
3366
3367 * find/defs.h, find/find.1, find/find.c, find/parser.c,
3368 find/pred.c, find/util.c: Allow consistency-checking of the
3369 predicates, checking for example that actions all have side
3370 effects
3371
33722005-06-29 James Youngman <jay@gnu.org>
3373
3374 * doc/find.texi: Applied patch from Aaron Hawley (Savannah patch
3375 #3751: Typos and small suggestions to find.texi)
3376
33772005-06-27 James Youngman <jay@gnu.org>
3378
3379 * ChangeLog, locate/locate.c: Applied patch from Bas Van Gompel to
3380 move match counting into a (new) visitor function
3381
3382 * NEWS, configure.in: No longer 4.2.23, as we're moving on now
3383
33842005-06-24 Bas van Gompel <patch-findutils.buzz@bavag.tmfweb.nl>
3385
3386 * locate/locate.c (visit_count, visit_limit): New functions.
3387 (locate): Use visit_limit or visit_count. Simplify main loop.
3388 (main) Bail out early when limit is reached.
3389
33902005-06-20 James Youngman <jay@gnu.org>
3391
3392 * xargs/xargs.c:
3393 Removed some code which had already been disabled via the preprocessor.
3394
33952005-06-19 Dmitry V. Levin <ldv@altlinux.org>
3396
3397 * lib/savedirinfo.c: Fix two compilation warnings (which would
3398 prevent compilation if "-Wall -Werror" is in effect).
3399
34002005-06-19 James Youngman <jay@gnu.org>
3401
3402 * ChangeLog: Indicate that we made (are making) a release.
3403
3404 * ChangeLog, NEWS, configure.in: Preparing to release 4.2.23
3405
3406 * doc/find.texi: Fixed Texinfo syntax error in previous change
3407
3408 * doc/find.texi, xargs/xargs.1:
3409 Document the fact that the -i and -L options are currently
3410 incompatible (Savannah bug 13041).
3411
3412 * locate/updatedb.1, locate/updatedb.sh: Fix Savannah bug 13411 -
3413 reject trailing slashes in updatedb's --prunepaths, bacsue these
3414 will never be matched
3415
3416 * NEWS: Released findutils-4.2.23.
3417
3418 * doc/find.texi, xargs/xargs.1:
3419 Document the fact that the -i and -L options are currently
3420 incompatible (Savannah bug 13041).
3421
3422 * locate/updatedb.1, locate/updatedb.sh: Fix Savannah bug 13411 -
3423 reject trailing slashes in updatedb's --prunepaths, because these
3424 will never be matched.
3425
34262005-06-18 James Youngman <jay@gnu.org>
3427
3428 * po/ga.po, tr.po: Updated Irish and Turkish translations.
3429
3430 * po/pl.po: Did update-po
3431
3432 * po/pl.po:
3433 Updated Polish translation file from the Translation Project
3434
3435 * po/ca.po, da.po, de.po, el.po, eo.po, es.po, et.po, fi.po, findutils.pot, fr.po, ga.po, gl.po, hr.po, hu.po, id.po, it.po, ja.po, ko.po, lg.po, ms.po, nl.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, rw.po, sk.po, sl.po, sr.po, sv.po, tr.po, vi.po, zh_CN.po, be.po:
3436 Did update-po
3437
34382005-06-18 Martin Buchholz (trivial patch applied by James Youngman)
3439
3440 * find/defs.h, find/find.c, find/parser.c, doc/find.texi: Fix
3441 typos/spelling errors (mostly in source code comments).
3442
34432005-06-18 Dmitry V. Levin <ldv@altlinux.org>
3444
3445 Additional documentation tweaks for -execdir/-okdir actions.
3446 * find/parser.c (parse_help): Mention -execdir and -ordir options.
3447 * doc/find.texi, find/find.1: Additionally document new options.
3448
34492005-06-12 Bas van Gompel <patch-findutils.buzz@bavag.tmfweb.nl>
3450
3451 * locate/locate.c: Implement --all (-A).
3452
3453 * NEWS, doc/find.texi, locate/locate.1: Document locate --all (-A)
3454
34552005-06-12 James Youngman <jay@gnu.org>
3456
3457 * find/find.c, NEWS:
3458 Savannah bug #13381 (Debian bug 313081): if we have O_NOFOLLOW,
3459 safely_chdir() does not need to call stat(). However, process_dir()
3460 used to rely on using that stat information. To work around this
3461 problem, there is now an output parameter in safely_chdir() which
3462 indicates if the stat buffer is valid.
3463 This bug has possible security implications.
3464
3465 * find/find.1, doc/find.texi:
3466 Applied patch from Andreas Metzler, improving the wording for the
3467 documentation of the %k and %b format directives. This patch does
3468 not require a copyright assignment as it consists of several
3469 copies of the same small wording change.
3470
34712005-06-11 James Youngman <jay@gnu.org>
3472
3473 * find/find.1: Corrected spelling error 'writeable' to 'writable'.
3474
3475 * find/find.1, locate/locate.1:
3476 Fixed Savannah bug #13363, typos in manpages (trivial change)
3477
34782005-06-10 James Youngman <jay@gnu.org>
3479
3480 * find/find.c, lib/savedirinfo.c, lib/savedirinfo.h: Switch to a
3481 new scheme for saving directory entry data which is extensible to
3482 allow additional data to be saved.
3483
34842005-06-09 James Youngman <jay@gnu.org>
3485
3486 * locate/testsuite/config/unix.exp:
3487 Use the new normalize_dir procedure throughout.
3488
3489 * locate/testsuite/config/unix.exp: Move the normalisation into a
3490 procedure. Don't rely on the "file normalize" command being
3491 available (it's new in Tcl 8.4).
3492
34932005-06-08 James Youngman <jay@gnu.org>
3494
3495 * ChangeLog, NEWS, configure.in: Updated for recent changes
3496
3497 * doc/find.texi:
3498 Explain that you should put the argument of -name in quotes.
3499
3500 * find/find.1:
3501 Added a new "NON-BUGS" section pointing out things that look like bugs
3502 but are caused by mistakes or misunderstandings.
3503
3504 * doc/find.texi, locate/locate.1: Applied Bas van Gompel's patch
3505 which allows the database to be read from stdin.
3506
3507 * locate/locate.c:
3508 Read the database in by using the "visitor" pattern. Modified file
3509 header comment to indicate that we no longer use the efficient
3510 algorith described in ;login:. Emit an error message if the
3511 LOCATE_PATH variable implies that we should read stdin twice.
3512 Most of this code is from Bas van Gompel.
3513
3514 * AUTHORS: Credit Bas van Gompel for his work on locate.
3515
3516 * lib/printquoted.h: Appled patch from Bas - fixing compiler warning.
3517
35182005-06-07 James Youngman <jay@gnu.org>
3519
3520 * ChangeLog, NEWS, configure.in: Updates prior to release
3521
3522 * config.rpath: Added file required for 'make dist'
3523
3524 * po/be.po, po/ca.po, po/da.po, po/de.po, po/el.po, po/eo.po,
3525 po/es.po, po/et.po, po/fi.po, po/findutils.pot, po/fr.po,
3526 po/ga.po, po/gl.po, po/hr.po, po/hu.po, po/id.po, po/it.po,
3527 po/ja.po, po/ko.po, po/lg.po, po/ms.po, po/nl.po, po/pl.po,
3528 po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/rw.po, po/sk.po,
3529 po/sl.po, po/sr.po, po/sv.po, po/tr.po, po/vi.po, po/zh_CN.po:
3530 updated the po files for release
3531
3532 * xargs/testsuite/Makefile.am:
3533 Added in all the test files from Dmitry V. Levin.
3534
35352005-06-08 Bas van Gompel <patch-findutils.buzz@bavag.tmfweb.nl>
3536
3537 * NEWS, locate/locate.1, doc/find.texi: Document usage of `-'
3538 to refer to stdin in database-path for locate.
3539 * locate/locate.c: Change prototype for visitors and processors
3540 throughout. Move reading the database and generating base_name
3541 into visitors. Allow `-' to refer to stdin in database-path.
3542
3543 * lib/printquoted.h: Include stdio.h.
3544
35452005-06-07 James Youngman <jay@gnu.org>
3546
3547 * COPYING, debian/copyright, depcomp, doc/texinfo.tex,
3548 find/defs.h, find/find.c, find/fstype.c, find/parser.c,
3549 find/pred.c, find/testsuite/config/unix.exp, find/tree.c,
3550 find/util.c, import-gnulib.sh, intl/Makefile.in,
3551 intl/bindtextdom.c, intl/config.charset, intl/dcgettext.c,
3552 intl/dcigettext.c, intl/dcngettext.c, intl/dgettext.c,
3553 intl/dngettext.c, intl/explodename.c, intl/finddomain.c,
3554 intl/gettext.c, intl/gettext.h, intl/gettextP.h,
3555 intl/hash-string.h, intl/intl-compat.c, intl/l10nflist.c,
3556 intl/libgettext.h, intl/libgnuintl.h, intl/loadinfo.h,
3557 intl/loadmsgcat.c, intl/localcharset.c, intl/locale.alias,
3558 intl/localealias.c, intl/ngettext.c, intl/plural.c, intl/plural.y,
3559 intl/ref-add.sin, intl/ref-del.sin, intl/textdomain.c,
3560 lib/buildcmd.c, lib/buildcmd.h, lib/extendbuf.c, lib/extendbuf.h,
3561 lib/forcefindlib.c, lib/listfile.c, lib/listfile.h,
3562 lib/modetype.h, lib/nextelem.c, lib/nextelem.h, lib/printquoted.c,
3563 lib/printquoted.h, lib/qmark.c, lib/savedirinfo.c,
3564 lib/savedirinfo.h, lib/strspn.c, lib/wait.h, lib/waitpid.c,
3565 locate/bigram.c, locate/code.c, locate/frcode.c, locate/locate.c,
3566 locate/locatedb.h, locate/testsuite/config/unix.exp,
3567 locate/updatedb.sh, missing, po/fetch-po-files,
3568 xargs/testsuite/config/unix.exp, xargs/xargs.c:
3569 Updated the FSF's postal address
3570
3571 * ChangeLog: Corrected Bas's email address.
3572
3573 * locate/locate.c: Updated copyright years.
3574
35752005-06-07 Bas van Gompel <patch-findutils.buzz@bavag.tmfweb.nl>
3576
3577 * locate/locate.c: Fold case once, only when needed.
3578
35792005-06-07 James Youngman <jay@gnu.org>
3580
3581 * NEWS: Updated with recent changes.
3582
3583 * mdate-sh: Use the mdate-sh from automake
3584
3585 * find/parser.c, find/pred.c, find/tree.c, find/util.c,
3586 lib/Makefile.am, lib/forcefindlib.c, lib/listfile.c,
3587 lib/listfile.h, locate/code.c, locate/locate.c, find/defs.h,
3588 find/find.c: Fix Savannah bug #13324: Fix compiler warnings for
3589 GCC-3.4
3590
3591 * locate/locate.c:
3592 Fixed Savannah bug #13325: Quoting of output filenames in locate
3593 should match find.
3594
3595 * find/parser.c:
3596 Fixed Savannah bug #13319: C9X-ism in parser.c (declaration after
3597 statements).
3598
3599 * find/pred.c, lib/Makefile.am, lib/listfile.c, lib/nextelem.c,
3600 lib/printquoted.c, lib/printquoted.h, lib/qmark.c, NEWS,
3601 doc/find.texi, find/defs.h, find/find.1, find/parser.c: Fixed
3602 Savannah bug #13303, find should filter out non-printable
3603 characters if outputting to tty
3604
36052005-05-30 James Youngman <jay@gnu.org>
3606
3607 * locate/locate.c: rename new_locate() to locate() since
3608 old_locate() has gone the way of the dodo.
3609
36102005-05-29 Bas van Gompel <patch-findutils.buzz@bavag.tmfweb.nl>
3611
3612 Add a ``--print'' (``-p'') option. (to cancel side-effects of -c/-S)
3613 Allow ``--statistics'' in combination with non-options.
3614 * doc/find.texi: Add documentation for locate --print (-p), and the
3615 use of non-options with --statistics.
3616 * locate/locate.1: ditto.
3617 * locate/locate.c: Read each database only once.
3618
36192005-05-23 Paul Eggert <eggert@cs.ucla.edu>
3620
3621 Adjust to recent gnulib changes.
3622 * import-gnulib.sh: Get config.rpath from gnulib/build-aux,
3623 not gnulib/config.
3624 * find/parser.c (parse_perm): Ignore umask when parsing
3625 symbolic permissions. Adjust to new modechange API.
3626
36272005-05-16 James Youngman <jay@gnu.org>
3628
3629 * find/find.c, find/parser.c, find/pred.c, find/tree.c:
3630 Trivial change: don't use i18n support for debug-only messages
3631
3632 * ChangeLog: Added ChangeLog entry crediting Dmitry
3633
36342005-05-09 James Youngman <jay@gnu.org>
3635
3636 * find/parser.c:
3637 The previous change fixed Savannah bug #12999. This change doesn't do
3638 anything, it's only intended to be a place to record the Savannah bug
3639 ID we've just fixed.
3640
3641 * find/parser.c:
3642 Oops. Initialise the variable which indicates which regex syntax to
3643 use. We use POSIX basic regular expressions.
3644
3645 * find/parser.c:
3646 Suggestion by Ed Avis: point out that "-name foo/bar" will almost
3647 always evaluate to false. Suggest to the user what alternatives they
3648 might find useful.
3649
36502005-05-02 James Youngman <jay@gnu.org>
3651
3652 * AUTHORS:
3653 Added Dimitry (his new test suite contribution required a copyright
3654 assignment).
3655
36562005-05-03 Dmitry V. Levin
3657
3658 * Added xargs test suite tests by Dmitry V. Levin, together with
3659 bugfixes which ensure that the tests pass.
3660
36612005-04-18 James Youngman <jay@gnu.org>
3662
3663 * Added test suite tests for Bas van Gompel's changes.
3664
36652005-04-18 Bas van Gompel <patch-findutils.buzz@bavag.tmfweb.nl>
3666
3667 * doc/find.texi: Document locate --non-existing (-E).
3668 * locate/locate.1: Ditto.
3669 * locate/locate.c: Implement --non-existing (-E).
3670
36712005-04-04 James Youngman <jay@gnu.org>
3672
3673 * configure.in, import-gnulib.sh:
3674 We no longer need gnulib/m4/Makefile.am
3675
3676 * po/vi.po: Updated Vietnamese translation
3677
3678 * locate/updatedb.sh:
3679 Savannah bug #12491: Only use the "-s" option to "su" if it is
3680 supported.
3681
36822005-04-01 James Youngman <jay@gnu.org>
3683
3684 * locate/locate.1, locate/updatedb.1, xargs/xargs.1: Trivial
3685 change from A Costa <agcosta@gis.net>, fixing typos in manual
3686 pages for xargs, locate and updatedb; fixes Savannah bug #12500,
3687 Debian bug #301934
3688
36892005-03-22 James Youngman <jay@gnu.org>
3690
3691 * import-gnulib.sh: Include the new gnulib module stat-macros
3692
3693 * configure.in:
3694 CVS code is (will shortly be) no longer identical to the 4.2.20 release
3695
36962005-03-17 James Youngman <jay@gnu.org>
3697
3698 * configure.in: Preprare for release of 4.2.20.
3699
3700 * NEWS: Updated prior to release of 4.2.20.
3701
3702 * ChangeLog: Updated with recent changes.
3703
3704 * THANKS: Thank Bas van Gompel, but only once.
3705
3706 * THANKS: Thank Bas van Gompel and Aaron S. Hawley.
3707
3708 * po/vi.po: Updated Vietnamese PO file
3709
37102005-03-10 James Youngman <jay@gnu.org>
3711
3712 * po/nl.po: Updated Dutch PO file
3713
37142005-03-08 Bas van Gompel <patch-findutils.buzz@bavag.tmfweb.nl>
3715
3716 * import-gnulib.sh: Re-enable creation of gnulib/m4/Makefile.am.
3717
37182005-03-07 James Youngman <jay@gnu.org>
3719
3720 * Released findutils-4.2.19.
3721
3722 * find/testsuite/find.posix/sizes.exp:
3723 Use 2>/dev/null instead of 2>&1, because Tcl understands the former
3724 but not the latter.
3725
3726 * find/testsuite/Makefile.am: Also distribute sv-bug-12181.xo.
3727
3728 * find/testsuite/Makefile.am: Distribute sv-bug-12181.
3729
3730 * find/testsuite/Makefile.am: Distribute sv-bug-12230.
3731
3732 * NEWS: Updated with new news.
3733
3734 * ChangeLog: Brought up to date.
3735
3736 * lib/buildcmd.c, find/testsuite/find.gnu/sv-bug-12230.exp: Fixed
3737 Savannah bug #12230, in which '-exec echo == {} +' is always run,
3738 even if there were no matched files.
3739
37402005-03-06 James Youngman <jay@gnu.org>
3741
3742 * ChangeLog: Added latest changes.
3743
3744 * po/pt.po, configure.in: Added Portuguese translation
3745
37462005-03-04 James Youngman <jay@gnu.org>
3747
3748 * configure.in: Modernized the way we call AC_INIT and
3749 AM_INIT_AUTOMAKE
3750
3751 * locate/locate.c, find/pred.c, find/find.c:
3752 Eliminated some compiler warnings
3753
3754 * find/pred.c: Clarified the meaning of a comment.
3755
3756 * find/testsuite/Makefile.am: Added sizes.exp, sizes.xo.
3757
3758 * find/testsuite/find.posix/sizes.xo,
3759 find/testsuite/find.posix/sizes.exp: Added tests for -size
3760 predicate
3761
37622005-03-03 James Youngman <jay@gnu.org>
3763
3764 * find/find.c:
3765 safely_chdir_lstat(): if we didn't end up in the right place, and then
3766 fchdir() fails, we can't return to the directory we started in.
3767 Therefore, issue a fatal error message and exit.
3768
37692005-03-01 James Youngman <jay@gnu.org>
3770
3771 * find/find.c, find/testsuite/find.posix/sv-bug-12181.exp,
3772 find/testsuite/find.posix/sv-bug-12181.xo: Fixed SourceForge bug
3773 12181 (find -H symlink-to-dir reports 'Too many Symbolic links')
3774 and bug 12044 (find still hangs on dead NFS filesystems on
3775 Solaris)
3776
37772005-02-28 James Youngman <jay@gnu.org>
3778
3779 * doc/find.texi: Typo: O_NOFOLLOW, not O_FOLLOW
3780
3781 * import-gnulib.sh:
3782 Suggestion from Martin Buchholz; unset CDPATH to prevent "cd" echoing
3783 the new directory.
3784
37852005-02-27 James Youngman <jay@gnu.org>
3786
3787 * README: Indicate how the reader can verify the release.
3788
37892005-02-26 James Youngman <jay@gnu.org>
3790
3791 * po/sk.po, po/sl.po, po/sr.po, po/sv.po, po/tr.po, po/vi.po,
3792 po/zh_CN.po, po/be.po, po/ca.po, po/da.po, po/de.po, po/el.po,
3793 po/eo.po, po/es.po, po/et.po, po/fi.po, po/findutils.pot,
3794 po/fr.po, po/gl.po, po/hr.po, po/hu.po, po/id.po, po/it.po,
3795 po/ja.po, po/ko.po, po/lg.po, po/ms.po, po/nl.po, po/pl.po,
3796 po/pt_BR.po, po/ro.po, po/ru.po: Added new Vietnamese translation
3797
3798 * configure.in: Added new Vietnamese translation.
3799
38002005-02-25 James Youngman <jay@gnu.org>
3801
3802 * po/ga.po: Updated Irish po file
3803
38042005-02-23 James Youngman <jay@gnu.org>
3805
3806 * Makefile.am: Fix Savannah bug #12064 - 'make distclean' deletes
3807 regex.c but should not.
3808
3809 * find/testsuite/Makefile.am,
3810 find/testsuite/find.gnu/printf-h.exp,
3811 find/testsuite/find.gnu/printf-h.xo: Added test case for Savannah
3812 bug #12085 (-printf %h).
3813
3814 * NEWS, doc/find.texi, find/find.1, find/pred.c:
3815 %h now expands to '.' instead of nothing.
3816
38172005-02-22 James Youngman <jay@gnu.org>
3818
3819 * find/find.c:
3820 Fixed Savannah bug #12099 (misinterpretation of system versions
3821 leading to possible incorrect disabling of O_NOFOLLOW). Reported by
3822 Dmitry V. Levin.
3823
3824 * find/pred.c:
3825 For the %h format, don't bail out early as the format might contain
3826 something else too.
3827
38282005-02-21 James Youngman <jay@gnu.org>
3829
3830 * find/find.c: Fixed accidental C99 dependency.
3831
38322005-02-20 James Youngman <jay@gnu.org>
3833
3834 * po/be.po, po/ca.po, po/da.po, po/de.po, po/el.po, po/eo.po,
3835 po/es.po, po/et.po, po/fi.po, po/findutils.pot, po/fr.po,
3836 po/ga.po, po/gl.po, po/hr.po, po/hu.po, po/id.po, po/it.po,
3837 po/ja.po, po/ko.po, po/lg.po, po/ms.po, po/nl.po, po/pl.po,
3838 po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sl.po, po/sr.po,
3839 po/sv.po, po/tr.po, po/zh_CN.po: Updated italian translation
3840
3841 * doc/find.texi: Corrected a typo.
3842
3843 * find/find.c:
3844 Read the mounted device list afer parsing the command line, so that
3845 for example "find --version" still works (in response to Savannah bug
3846 #12044).
3847
3848 * configure.in: We've moved on from findutils-4.2.18.
3849
38502005-02-19 James Youngman <jay@gnu.org>
3851
3852 * NEWS: Corrected the summary of the "find -depth" bug.
3853
38542005-02-16 James Youngman <jay@gnu.org>
3855
3856 * NEWS, configure.in: Prepared for release of 4.2.18.
3857
3858 * ChangeLog: Updated prior to release of 4.2.18.
3859
3860 * find/testsuite/Makefile.am:
3861 Distribute the test cases for the recent "find -depth" bug.
3862
3863 * find/testsuite/find.posix/depth1.exp, find/testsuite/find.posix/depth1.xo:
3864 Added test case for find -depth bug reported by Joseph S. Myers
3865
3866 * find/find.c:
3867 If -depth is in effect, processing of the subdirectories invalidates
3868 the information in 'state'. Therefore once we get around to
3869 processing the predicates, restore the information that we keep in
3870 'state' and in 'stat_buf'.
3871
38722005-02-15 James Youngman <jay@gnu.org>
3873
3874 * ChangeLog: Updated with recent changes
3875
3876 * find/find.1:
3877 Emphasise that -L causes find to recurse into subdirectories pointed
3878 to by symbolic links.
3879
3880 * find/find.1:
3881 Patch to find.1 from Aaron Hawley <Aaron.Hawley@uvm.edu>:
3882
3883 * Notes about -H actually apply to -L.
3884 * Said paragraph is duplicated two paragraphs later.
3885 * Typos: nno, ibmue, surrpounding
3886
38872005-02-15 Aaron Hawley <Aaron.Hawley@uvm.edu>
3888
3889 * find/find.1: Notes about -H actually apply to -L. Said
3890 paragraph is duplicated two paragraphs later. Also typos: nno,
3891 ibmue, surrpounding
3892
38932005-02-13 James Youngman <jay@gnu.org>
3894
3895 * find/find.1: Miscellaneous small clarifications and improvements.
3896
3897 * doc/find.texi: Added Info nodes and menus under "Changing the
3898 Current Working Directory" so that it doesn't generate such a huge
3899 Info page.
3900
3901 * find/find.c: Parenthesise #if defined(...).
3902
39032005-02-13 Dmitry V. Levin <ldv@altlinux.org>
3904
3905 * find/find.c: remove test code snippet (time(NULL) was used to
3906 place a marker for spotting with strace(), but was not actually
3907 needed).
3908
3909 * find/find.c (safely_chdir_nofollow): must not fall back on
3910 safely_chdir_lstat() because that will expose it to race condition
3911 exploits, making it pointless.
3912
3913 * find/find.c (safely_chdir_lstat): Move
3914 complete_pending_execdirs() up into safely_chdir(), because we
3915 need to do that in either case.
3916
39172005-02-12 James Youngman <jay@gnu.org>
3918
3919 * configure.in, doc/find.texi, find/defs.h, find/find.c,
3920 find/parser.c: Fix for Savannah bug #11879, that
3921 init_mounted_dev_list() causes find to hang on systems which are
3922 clients to dead NFS servers
3923
39242005-02-10 James Youngman <jay@gnu.org>
3925
3926 * doc/find.texi: Talk about the problem where find will not work
3927 if you have a filesystem mounted from an unresponsive NFS server.
3928
39292005-02-09 James Youngman <jay@gnu.org>
3930
3931 * find/find.1: Indicate that $TZ affects from printf-format
3932 results, and add extra cross-references in the SEE ALSO section.
3933
39342005-02-08 James Youngman <jay@gnu.org>
3935
3936 * xargs/testsuite/Makefile.am: Distribute the .xe files also.
3937
3938 * Makefile.am: Check that we have the right number of .xe files in
3939 the distribution also.
3940
3941 * ChangeLog, NEWS, configure.in
3942 Preparing to release findutils-4.2.17
3943
39442005-02-07 James Youngman <jay@gnu.org>
3945
3946 * find/testsuite/config/unix.exp: Re-sort the .xo file using the
3947 calling user's locale, because our 'pre-sorted' .so output file
3948 may not be sorted with the same collating order as 'sort' used to
3949 order the output of "find. Bug spotted by Vin Shelton and Dimitry
3950 V. Levin.
3951
3952 * find/testsuite/Makefile.am:
3953 New test, find/testsuite/find.gnu/follow-arg-parent-symlink.exp.
3954
3955 * find/testsuite/find.gnu/follow-arg-parent-symlink.exp,
3956 find/testsuite/find.gnu/follow-arg-parent-symlink.xo, find/find.c:
3957 Fix for starting point /foo/bar/baz where bar is a symlink but baz
3958 is not - we should chdir into bar there even if it is a symbolic
3959 link
3960
39612005-02-07 James Youngman <jay@gnu.org>
3962
3963 * find/testsuite/Makefile.am:
3964 New test, find/testsuite/find.gnu/follow-arg-parent-symlink.exp.
3965
3966 * find/testsuite/find.gnu/follow-arg-parent-symlink.exp,
3967 find/testsuite/find.gnu/follow-arg-parent-symlink.xo, find/find.c:
3968 Fix for starting point /foo/bar/baz where bar is a symlink but baz
3969 is not - we should chdir into bar there even if it is a symbolic
3970 link
3971
39722005-02-06 James Youngman <jay@gnu.org>
3973
3974 * doc/find.texi:
3975 -size: Clarification - -size gives a result consistent with 'wc -c'
3976 for example.
3977
3978 * Makefile.am, find/testsuite/Makefile.am,
3979 find/testsuite/find.gnu/execdir-root-only.exp,
3980 find/testsuite/find.gnu/execdir-root-only.xo,
3981 locate/testsuite/Makefile.am, xargs/testsuite/Makefile.am:
3982 dist-hook: Ensure that we distribute all the .po files and all the
3983 testsuite files
3984
3985 * po/pl.po: Updated Polish translation from TP website
3986
39872005-02-05 Dmitry V. Levin <ldv@altlinux.org>
3988
3989 * find/parser.c, find/pred.c: Additional tweaks for
3990 -execdir/-okdir actions.
3991
3992 * find/parser.c (new_insert_exec_ok): Disable ignore_readdir_race
3993 for -execdir/-okdir.
3994
3995 * find/pred.c (pred_execdir, pred_okdir): Use state.rel_pathname
3996 instead of basename(pathname). Do not add "./" prefix for
3997 absolute pathnames.
3998
3999 * find/find.c (process_top_path): Treat "/" similarly to ".".
4000
4001 * xargs/testsuite/xargs.posix/savannah-11865.exp,
4002 xargs/testsuite/xargs.posix/savannah-11865.xo, xargs/xargs.c:
4003 Fixed Savannah bug #11866 (not resetting number of used chars in
4004 the command buffer) - reported by Dimitry V. Levin
4005
40062005-02-05 James Youngman <jay@gnu.org>
4007
4008 * THANKS:
4009 Added thanks for Dimitry - has produced many patches, bugfixes and
4010 suggestions.
4011
4012 * find/pred.c:
4013 Fixed Savannah bug #11866: typo in pred_okdir() renders it useless
4014
4015 * find/pred.c:
4016 Savannah bug #11861: undefined symbol 'basename' on IRIX 5.3
4017
4018 * NEWS, configure.in, po/be.po, po/ca.po, po/el.po, po/eo.po,
4019 po/fi.po, po/ga.po, po/hr.po, po/hu.po, po/ja.po, po/lg.po,
4020 po/ms.po, po/ro.po, po/sl.po, po/sr.po, po/zh_CN.po: Added new
4021 translations
4022
4023 * ChangeLog: Updated from CVS prior to release of 4.2.16.
4024
4025 * po/ChangeLog: Updated from CVS.
4026
4027 * NEWS, configure.in: Preparing to release 4.2.16
4028
4029 * po/da.po, po/de.po, po/es.po, po/et.po, po/findutils.pot,
4030 po/fr.po, po/gl.po, po/id.po, po/it.po, po/ko.po, po/nl.po,
4031 po/pl.po, po/pt_BR.po, po/ru.po, po/sk.po, po/sl.po, po/sv.po,
4032 po/tr.po: make update-po prior to 'make distcheck'
4033
4034 * po/fetch-po-files: This is the first version we actually used.
4035
4036 * find/find.c: process_top_path() fixed compilation warning.
4037
4038 * find/find.c: process_top_path(): avoid processing this item if
4039 we can't chdir to the basename of the named file.
4040
4041 * lib/Makefile.am: Always build forcefindlib.c
4042