1 2000-01-26 Kevin Dalley <kevind@rahul.net>
5 * acconfig.h: added internationalization.
7 * intl/*: copied from tar-1.13.17.
9 * locate/Makefile.am, locate/locate.c, locate/code.c:
10 internationalized file.
12 * locate/frcode.c, locate/bigram.c: include headers from ../lib
15 * xargs/Makefile.am, xargs/xargs.c: internationalized directory.
17 2000-01-24 Kevin Dalley <kevind@rahul.net>
19 * lib/xmalloc.c, lib/regex.c, lib/getopt.c: internationalization
20 works with current version of gettext.
22 * lib/getline.h : added declaration of getstr.
23 * lib/Makefile.am (libfind_a_SOURCES): added getline.[ch] to
24 standard compilation. Added internationalization.
25 * find/Makefile.am (INCLUDES): corrected -I options for building
27 (LDADD): changes for internationalization.
29 * configure.in (ALL_LINGUAS): added internationalization.
30 getline.c is always compiled and linked, because of getstr.
34 (DISTCLEANFILES): added intl/libintl.h
35 (AUTOMAKE_OPTIONS): added gnits to AUTOMAKE_OPTIONS
36 (SUBDIRS): added intl and po
38 * acconfig.h: added internationalization values
40 * THANKS: added thanks file for gnits compatibility.
42 2000-01-22 Kevin Dalley <kevind@rahul.net>
44 * added po and intl directories.
46 * Added internationalization, only with slightly out of date po
47 files for many locales.
49 2000-01-18 Kevin Dalley <kevind@rahul.net>
53 * locate/Makefile.am: remove creation of updatedb, since it is now
56 * configure.in: updatedb is now created by configure.
58 * xargs/Makefile.am: added testsuite to xargs directory
60 * locate/updatedb.in: updatedb is now created by configure
62 * locate/frcode.c, locate/code.c, locate/bigram.c: change return
63 from main to int. Replace getstr with getline, where possible.
65 * locate/Makefile.am: place frcode, code, bigram in
68 * lib/xstrdup.c, lib/xmalloc.c, lib/xgetcwd.c, lib/xalloc.h,
69 lib/strtol.c, lib/strstr.c, lib/strftime.c, lib/strdup.c,
70 lib/stpcpy.c, lib/stat.c, lib/savedir.h, lib/savedir.c,
71 lib/regex.h, lib/regex.c, lib/realloc.c, lib/pathmax.h,
72 lib/modechange.h, lib/modechange.c, lib/mktime.c, lib/memset.c,
73 lib/memcmp.c, lib/malloc.c, lib/lstat.c, lib/idcache.c,
74 lib/getopt1.c, lib/getopt.c, lib/getopt.h, lib/getline.c,
75 lib/getline.h, lib/fnmatch.c, lib/fnmatch.h, lib/filemode.c,
76 lib/filemode.h, lib/fileblocks.c, lib/error.c, lib/error.h,
77 lib/dirname.c, lib/alloca.c: updated to newer version of file from
80 * find/version.c: version number is now automatically generated by
83 * find/fstype.c (filesystem_type_uncached): fixes bug described as
84 follows: When 'find' looks for a fstype, it parses the /etc/mtab
85 until it finds the good line. But, if there is, before the good
86 line, a line whose the mountpoint is unreachable, it fails.
88 * doc/texinfo.tex: updated to newer version
90 * doc/find.texi: added version.texi, fixed a few documentation bugs.
92 * configure.in: new m4 features.
94 * Makefile.am: moved testsuite to below corresponding directories
97 * acconfig.h: updated to match new m4 files.
99 * m4: added m4 directory, largely borrowed from Jim Meyering's
102 2000-01-17 Kevin Dalley <kevind@rahul.net>
104 * doc/find.texi (Multiple Files): placed missing xargs in examples
106 * find/testsuite/find.gnu/depth.exp: added find tests to test
109 * doc/find.texi: include version.texi for automatic determination
110 of version number, update bug report email address to
111 bug-findutils@gnu.org.
112 (Combining Primaries With Operators): add indices for " ,", "()",
115 2000-01-17 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
117 * find/tree.c (opt_expr): Never rearrange the arguments of the
118 comma operator, since it is not commutative. Remove useless
121 000-01-17 Jonathan R. Ferro <jferro@corwin.ece.cmu.edu>
123 * find/find.c (process_path): fix problem with "-depth" which is
124 tested in depth.exp test.
126 1999-08-15 Kevin Dalley <Kevin Dalley <kevin@seti.org>>
128 * find/fstype.c (filesystem_type_uncached): a stat failure with
129 EACCESS will ignore this file system keep on looking. Patch
130 suggested by Vincent Danjean <vdanjean@ens-lyon.fr>.
132 1999-08-15 Mark Kettenis <kettenis@gnu.org>
134 * xargs/xargs.c (LONG_MAX): Define if necessary.
135 (main): If ARG_MAX is -1 (that is sysconf
136 (_SC_ARG_MAX) returns -1) the system does not impose a limit. In
137 that case, use LONG_MAX as the limit.
139 1999-08-15 Kevin Dalley <Kevin Dalley <kevind@rahul.net>
141 * find/version.c: version string is now set by config.h
143 1999-08-08 Kevin Dalley <kevin@seti.org>
147 * README-alpha: added alpha README file
149 * find/defs.h: move lstat declarations into defs.h
151 * xargs/Makefile.am, testsuite/Makefile.am, locate/Makefile.am,
152 lib/Makefile.am, find/Makefile.am, doc/Makefile.am, configure.in,
153 Makefile.am: update for automake-1.4
155 1999-08-02 Kevin Dalley <kevind@rahul.net>
157 * AUTHORS: added file listing AUTHORS
159 * lib/Makefile.am: modified code for EXTRA sources
161 1999-01-30 Kevin Dalley <kevind@rahul.net>
163 * added const to declaration of basename, which should satisfy
164 Linux as well as Hurd (fixes bug #31325).
166 1998-12-04 Kevin Dalley <kevind@rahul.net>
168 * lib/nextelem.c: removed declaration of strdup and free, which
169 meets GNU coding standards and allows compilation on more
172 * find.texi: corrected explanation of -amin option which described
173 hours instead of minutes
175 1998-09-26 Kevin Dalley <kevind@rahul.net>
177 * lib/getline.c: fix getstr so that it correctly handles long file
180 1998-09-20 Kevin Dalley <kevind@rahul.net>
182 * removed more function declarations to meet GNU coding standards
184 1998-08-30 Kevin Dalley <kevind@rahul.net>
186 * lib/nextelem.c: removed declaration of strdup and free, which
187 meets GNU coding standards and allow compilation on sparc
189 * corrected explanation of -amin option which described hours
192 1998-02-27 Kevin Dalley <kevind@rahul.net>
194 * locate/locate.c: add --existing option to locate, which only
195 prints the names of files which still exist
197 1998-02-08 Kevin Dalley <kevind@rahul.net>
199 * locate/locate.c: corrected get_short so that it correctly
200 returns negative numbers.
202 * remove declarations of various string functions. Removing the
203 declarations almost matches the GNU Coding Standards.
205 1997-03-03 Kevin Dalley <kevind@rahul.net>
207 * xargs/xargs.c: xargs fixed to prevent occasional core dumping.
209 1997-01-11 Kevin Dalley <kevind@rahul.net>
211 * locate/updatedb.sh: add --localuser option to updatedb, which
212 allows find to be run as nobody, while allowing database file to
213 be created as root, change suggested by
214 <Bernd_Eckenfels@Wittumstrasse13.76646Bruchsal.de>
216 1996-12-28 Kevin Dalley <kevind@rahul.net>
217 * added PRUNEFS as variable in updatedb and --prunefs as option to
220 1996-05-27 Kevin Dalley <kevind@rahul.net>
222 * updatedb.sh: when NETPATHS is used, only su to NETUSER if whoami
224 1996-04-27 Kevin Dalley <kevind@rahul.net>
226 * lib/getline.c (getstr): verify that nchars_avail is *really*
227 greater than 0; set *n to a large enough number, stops some core
230 Thu Nov 3 09:23:33 1994 David J. MacKenzie <djm@duality.gnu.ai.mit.edu>
234 * locate/Makefile.am: Move updatedb from LIBSCRIPTS to SCRIPTS.
236 * Makefile.am (distname): Change distribution name from find to
239 * testsuite/config/unix.exp: Don't abuse xfail; simulate it correctly.
241 * locate/Makefile.am (CLEANFILES): Fix typo.
243 Wed Nov 2 15:11:52 1994 David J. MacKenzie <djm@duality.gnu.ai.mit.edu>
247 * lib/listfile.c find/defs.h (list_file): Take a stream arg.
248 * find/pred.c (pred_ls): pass it.
249 * find/parser.c pred.c defs.h (parse_fls, pred_fls): New functions.
251 Tue Oct 25 16:09:04 1994 David J. MacKenzie <djm@duality.gnu.ai.mit.edu>
253 * find/pred.c (pred_fprintf): Flush output after \c. From Chapman
256 * find/parser.c (insert_fprintf): Warn about unrecognized \ and %
259 Tue Oct 18 00:03:10 1994 David J. MacKenzie <djm@duality.gnu.ai.mit.edu>
261 * find/defs.h parser.c pred.c tree.c util.c: Globally change
262 "victim" to "primary".
264 * find/parser.c (insert_fprintf): For 'c' format, don't lose the
265 need_stat information. From Chapman Flack.
267 * doc/find.texi perm.texi: New files.
268 * configure.in: Configure the doc directory.
270 * find/pred.c (pred_regex): Check that the regex matched the whole
273 Wed Oct 12 17:13:47 1994 David J. MacKenzie (djm@duality.gnu.ai.mit.edu)
275 * find/find.c (main): Tell what the invalid arg is.
278 Fri Oct 7 12:33:24 1994 David MacKenzie <djm@geech.gnu.ai.mit.edu>
280 * find/parser.c: Add -mount as an alias for -xdev.
281 From Klaus.Steinberger@physik.uni-muenchen.de (Klaus Steinberger).
283 * lib/modechange.c: Make umask_value unsigned short.
285 * xargs/xargs.c: Use symbolic constants in longopts.
288 Wed Oct 5 11:23:09 1994 David MacKenzie <djm@geech.gnu.ai.mit.edu>
290 * xargs/xargs.c (main, read_line, read_string, do_exec): Pass
291 along the lengths of the args.
292 (main): Calculate length of replace_pat.
293 (push_arg, do_insert): Use those lengths instead of calculating
296 Tue Oct 4 10:02:05 1994 David MacKenzie <djm@churchy.gnu.ai.mit.edu>
298 * locate/updatedb.sh Makefile.in: Add substitutions to get
299 the transformed program names.
301 * xargs/xargs.c: Put back the global variables for now.
302 Rename some variables. Increase default args_per_exec.
303 Use boolean where applicable.
304 (main): Reduce default arg_max by 2048 for POSIX.2.
305 (read_string): Don't check EOF string.
306 (read_line, read_string): Take initial args size into account.
308 Sat Oct 1 17:43:13 1994 David MacKenzie <djm@geech.gnu.ai.mit.edu>
310 * find/pred.c (launch): Use pid_t.
312 * xargs/xargs.c (EOF_STR): Define and use.
313 [__STDC__]: Declare xrealloc and xmalloc using void *.
314 * find/defs.h: Likewise.
316 * find/defs.h: Only declare stpcpy if !HAVE_STPCPY.
318 * xargs/xargs.c: Replace most global variables with structure
319 pointers passed as arguments. Use pid_t.
320 * lib/wait.h: Include sys/wait.h if HAVE_SYS_WAIT_H.
321 * configure.in: Call AC_TYPE_MODE_T and AC_HEADER_SYS_WAIT.
323 * xargs/xargs.c: Improve paging performance and memory
324 fragmentation by building command arguments in a pre-allocated
325 buffer and re-implementing the child pid list as an expandable
326 array. From tsi@gpu.srv.ualberta.ca (Marc Aurele La France).
328 Thu Sep 29 11:38:07 1994 David J. MacKenzie (djm@geech.gnu.ai.mit.edu)
330 * xargs/xargs.c [__STDC__]: Prototype declarations.
332 Wed Sep 28 11:25:53 1994 David J. MacKenzie (djm@duality.gnu.ai.mit.edu)
334 * find/fstype.c [AFS, __STDC__]: Fix definition of _VICEIOCTL.
336 Tue Sep 27 08:14:27 1994 David MacKenzie <djm@churchy.gnu.ai.mit.edu>
338 * find/fstype.c (fstype_to_string): Add more cases. Use
339 INITMOUNTNAMES if defined.
340 * find/defs.h: Change boolean typedef from char to int.
341 * configure.in: Check for mktime.
343 Tue Sep 27 01:20:28 1994 Kaveh R. Ghazi (ghazi@noc.rutgers.edu)
345 * configure.in: Add AC_HEADER_STAT.
346 * lib/listfile.c, lib/modetype.h: Add STAT_MACROS_BROKEN.
348 * find/pred.c: Move the inclusion of defs.h ahead of the first
349 test of _POSIX_VERSION.
351 * lib/xgetcwd.c: Remove _POSIX_VERSION, rely only on HAVE_GETCWD.
353 Mon Sep 26 16:43:01 1994 David MacKenzie <djm@geech.gnu.ai.mit.edu>
355 * configure.in: Add AC_CONFIG_HEADER.
356 * find/*.c locate/*.c xargs/*.c: Include config.h.
357 * locate/updatedb.sh: Add --version; --old -> --old-format.
359 Sun Sep 25 23:43:37 1994 David MacKenzie <djm@geech.gnu.ai.mit.edu>
361 * find/* [__STDC__]: Prototype declarations.
363 * locate/updatedb.sh: Account for renaming code and frcode.
365 * find/find.c (process_path): Store dev and ino of directories in
366 current branch to avoid symlink loops. From DJ Delorie
368 (process_dir): If following symlinks, don't cd to ..; instead,
369 cd to the starting directory and then to the parent directory.
370 (main) [HAVE_FCHDIR]: Save the dev, ino of the starting directory.
371 (process_top_path) [HAVE_FCHDIR]: Use it.
372 * find/pred.c (launch) [HAVE_FCHDIR]: Likewise.
373 * defs.h [HAVE_FCHDIR]: Declare starting_desc instead of starting_dir.
374 * configure.in: Check for dev_t, ino_t, fchdir, fcntl.h.
376 Fri Sep 23 11:55:38 1994 David MacKenzie <djm@geech.gnu.ai.mit.edu>
378 * lib/listfile.c: Change #ifdef S_IFLNK to #ifdef S_ISLNK.
379 From Andreas Luik <luik@isa.de>.
381 Thu Sep 22 11:42:40 1994 David MacKenzie <djm@geech.gnu.ai.mit.edu>
383 * locate/locate.c (last_literal_end): Dynamically allocate enough
384 memory for the subpattern.
386 Wed Sep 21 06:12:56 1994 David MacKenzie <djm@geech.gnu.ai.mit.edu>
388 * locate/locate.c (locate): Warn if database is >8 days old.
389 From Ian Lance Taylor.
391 * xargs/xargs.c (do_exec), find/pred.c (launch): Set SIGCHLD to
392 default. From tsi@gpu.srv.ualberta.ca (Marc Aurele La France).
393 * find/find.c pred.c util.c lib/listfile.c: Remove fflush(stdout)
394 calls before error. error does it, and doesn't trash errno.
395 From tsi@gpu.srv.ualberta.ca (Marc Aurele La France).
397 * find/fstype.c (filesystem_type_uncached): Don't trust mtab dev
398 number on HPUX. From Andreas Luik <luik@isa.de>.
399 (filesystem_type_uncached): Don't cache unknown file system
400 types. From casper@fwi.uva.nl (Casper Dik).
402 * locate/updatedb.sh: Collect results in temp file and rename it
403 atomically. From Andreas Luik <luik@isa.de>.
405 * xargs/xargs.c (parse_num): Print a long using %ld. From Jim
408 * find/defs.h find.c parser.c pred.c util.c, lib/nextelem.c:
409 Emulate strchr and strrchr with index and rindex, not vice versa.
411 Remove man directory; move man pages to the directories of the
412 programs they document.
414 * locate/frcode.c: Renamed from code.c.
415 * locate/frcode.c (put_short): Renamed from puthalfword.
416 * locate/locate.c (get_short): Renamed from gethalfword.
417 (last_literal_end): Renamed from patprep.
418 (locate): Recognize old-format databases too.
419 * locate/locatedb.h: Add defines for old-format databases.
420 * locate/bigram.c locate/code.c: Put back programs to create
421 old-format databases.
422 * locate/updatedb.sh: Take --old option to use them.
424 Tue Sep 20 15:41:11 1994 David MacKenzie <djm@geech.gnu.ai.mit.edu>
426 * configure.in: Update for Autoconf v2.
427 * find/pred.c lib/savedir.c: Use new symbols for dir header.
428 * locate/updatedb.sh: Add --help option.
430 Sun Feb 13 11:21:58 1994 Jim Meyering (meyering@comco.com)
432 * man/Makefile.in [man1ext, man5ext]: Set man5ext (not man1ext) to 5.
434 Sun Aug 1 22:30:55 1993 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
436 * bigram.c: File removed.
437 * getline.c, memcmp.c, locatedb.h, updatedb.1, locatedb.5: New files.
438 * updatedb.sh: Take command line options.
439 Don't do bigram compression.
440 * code.c, locate.c: Don't do bigram compression.
441 Write and read counts in network byte order.
442 Handle arbitrarily long paths.
443 Use a magic number at the start of the databases.
445 Thu Jul 29 20:44:53 1993 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu)
447 * Makefile.in (config.status): Run config.status --recheck, not
448 configure, to get the right args passed.
450 Thu Jul 22 12:53:12 1993 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
452 * listfile.c (list_file): Print inode as a long.
454 Wed Jul 14 14:14:45 1993 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
456 * fstype.c [STDC_HEADERS]: Include stdlib.h.
458 * Move unistd.h include from parser.c and pred.c to defs.h.
460 Wed Jun 30 14:14:47 1993 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
462 * updatedb.sh: Construct PRUNEREGEX from PRUNEPATHS with sed.
463 Prune /afs. Change NFSUSER to NETUSER and NFSPATHS to NETPATHS.
465 Tue Jun 29 12:19:58 1993 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
467 * pred.c (pred_fprintf): Abort in switch if `c' is not A, C, or T.
469 Mon Jun 28 00:18:52 1993 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu)
471 * fstype.c (in_afs) [AFS]: New function, derived from code by
472 Sanjay Ramamurthy <ramams@rpi.edu>.
473 (filesystem_type_uncached) [AFS]: Call it if the fs type is
476 * parser.c (parse_size): Recognize b and w suffixes for dd
479 * code.c (puthalfword): New function.
481 * locate.c (gethalfword): New function.
483 From ifado!wb@germany.eu.net (Wilhelm B. Kloke).
485 * listfile.c: Include pathmax.h.
486 (get_link_name): Always allocate PATH_MAX + 1 bytes for
488 * pred.c (pred_fprintf, insert_lname): Call get_link_name.
490 * fstype.c (filesystem_type, filesystem_type_uncached),
491 listfile.c (list_file): Take an arg for the path to access.
492 * pred.c (pred_ls, pred_fstype, pred_fprintf): Pass it.
494 * find.c (process_dir): Renamed from scan_directory.
496 Changes from jrs@world.std.com (Rick Sladkey) to chdir into
497 subdirectories instead of using string concatenation, for speed:
498 * find.c (process_top_path): New function.
499 (main): Call it, and xgetcwd.
500 (process_path, scan_directory): Take new arg, the pathname
501 relative to ".". Use it and pass it on.
502 * pred.c (pred_and, pred_comma, pred_negate, pred_or,
503 pred_xtype, pred_fprintf, pred_empty, insert_lname):
504 access rel_pathname instead of pathname.
505 (launch): chdir to starting_dir.
506 * defs.h: Declare rel_pathname and starting_dir.
507 * find.c: Define them.
509 * xgetcwd.c: New file.
511 * updatedb.sh: Recognize -fstype NFS as well as nfs.
512 * locate.c (patprep): Skip trailing character classes correctly.
513 From luik@pharao.stgt.sub.org (Andreas Luik).
515 * parser.c (parse_group): Make gid a gid_t, not short or int.
516 (parse_nogroup): Cast gid to unsigned when using it as an array index.
517 (parse_user, parse_nouser): Similar changes for uid.
518 * defs.h: Use uid_t and gid_t.
520 * parser.c (parse_help): New function.
521 (parse_table): Add --version, -help, and --help options.
522 Rename struct parser_table_t to struct parser_table.
523 (parse_version): Exit after printing message, on
526 * xargs.c, locate.c (main, usage): Add --version and --help
529 Wed Mar 31 22:39:57 1993 Jim Meyering (meyering@comco.com)
531 * parser.c: Define isascii macro to be 1 also if STDC_HEADERS.
534 Wed Mar 31 16:04:07 1993 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu)
536 * pred.c (pred_fprintf): If curdepth is 0, don't nuke
537 segment->text; nuke cp.
539 Mon Mar 29 15:57:20 1993 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu)
543 Fri Mar 26 16:36:59 1993 David J. MacKenzie (djm@hal.gnu.ai.mit.edu)
545 * pred.c (pred_ilname, pred_iname, pred_ipath): New functions.
546 (pred_table): Add them.
547 (insert_lname): New function.
548 (pred_lname): Call it.
549 * parser.c (parse_ilname, parse_iname, parse_ipath,
550 parse_iregex): New functions.
551 (parse_table): Add them.
552 (insert_regex): New function.
553 (parse_regex): Call it.
555 * fstype.c (filesystem_type): Cache previous result.
556 (filesystem_type_uncached): New function.
557 pred.c (pred_fstype, pred_fprintf): Adjust callers to not cache.
559 * parser.c: Don't define const.
561 * fstype.c [FSTYPE_STATFS] (fstype_to_string): #ifdef
564 Thu Mar 25 18:32:24 1993 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
566 * parser.c (parse_regex): If ignore_case, set up a translate
569 * defs.h: Include string.h or strings.h.
570 * find.c fstype.c parser.c pred.c util.c: Don't.
572 * nextelem.c [index]: Don't redefine.
574 Wed Mar 24 17:47:10 1993 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu)
576 * xargs.c (wait_for_proc): Exit with a nonrunnable command's exit
577 status, not the wait status value. From
578 Andreas Schwab <schwab@lamothe.informatik.uni-dortmund.de>.
580 * parser.c (make_segment, insert_fprintf), pred.c
581 (pred_fprintf): Add '%F' to print filesystem type.
583 * parser.c (parse_fprintf): Check if second arg is missing.
585 Tue Mar 23 13:18:08 1993 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu)
587 * pred.c (pred_fprintf): For %P, don't move past an assumed
588 slash if the ARGV element ends with one, because in that case
591 * parser.c (parse_printf): Check for missing arg.
592 From smj@cats.com (Steve James).
594 * parser.c: Add #ifdef around atol decl for Linux.
596 Fri Dec 11 08:17:07 1992 Jim Meyering (meyering@comco.com)
598 * defs.h: Remove dcl of process_path.
599 * find.c: Put dcl of process_path here. Make a few functions
600 and file-scope variables static.
601 * parser.c, tree.c: Declare most functions static.
603 * locate.c: Use `required_argument' macro in dcl of longopts.
604 * bigram.c, code.c, locate.c, xargs.c: Make most functions and
605 file-scope variables static.
607 * parser.c, xargs.c: Guard ctype.h macros with isascii.
609 * find.c: Add declarations for opt_expr and mark_stat.
610 * tree.c (set_new_parent): Add empty default clause to enum swicth.
611 * locate.c (main): Parenthesize for gcc -Wall.
612 * xargs.c (push_arg): Parenthesize for gcc -Wall.
614 Tue Nov 24 08:04:36 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
616 * find.c, fstype.c, parser.c, pred.c, util.c, listfile.c,
617 nextelem.c, xargs.c, bigram.c, code.c, locate.c: Use
618 HAVE_STRING_H, not USG.
620 * pred.c: Use SYSDIR and NDIR instead of USG.
621 Define direct as dirent, not vice-versa.
623 Fri Oct 9 02:15:17 1992 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu)
625 * xargs.c (main): Set orig_arg_max before possibly cutting
628 Thu Sep 10 19:25:35 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
630 * parser.c: Always declare getgrent and getpwent.
632 Mon Aug 24 12:54:16 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
634 * xargs.c: Include sys/types.h before unistd.h. Use ARG_MAX
636 * find.c, nextelem.c: Add missing decls.
637 From bde@runx.oz.au (Bruce Evans).
639 Thu Jul 23 15:06:07 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
643 Tue Jul 14 00:16:52 1992 David J. MacKenzie (djm@apple-gunkies.gnu.ai.mit.edu)
645 * pathmax.h: New file.
646 * bigram.c, code.c, locate.c: Use it. Use xmalloc instead of malloc.
648 Sat Jul 11 22:31:46 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
650 * nextelem.c: New file.
651 * locate.c (main): Use it to support a database path.
653 Fri Jul 3 02:12:09 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu)
655 * listfile.c, pred.c: Change FOO_MISSING to HAVE_FOO.
657 * parser.c [_POSIX_SOURCE]: Define endpwent and endgrent as empty.
658 * listfile.c [!HAVE_ST_RDEV]: Print blanks.
659 From Jeffrey Siegal (jbs@congruent.com).
661 * locate.c (locate): Check for EOF at top of loop, not middle.
662 * updatedb.sh: Remove duplication hack.
665 Wed Jun 10 15:04:23 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu)
667 * pred.c (pred_amin, pred_atime, pred_cmin, pred_ctime,
668 pred_mmin, pred_mtime, pred_used): Cast l_val to time_t before
669 comparing it to a time_t. From fpm@crash.cts.com (Frank Maclachlan).
671 * locate.c (locate): Take the database path as an arg.
672 (main): Take an option to specify the database path.
673 (usage): New function.
675 * updatedb.sh: Don't read from and write to the file-list file
676 in the same statement.
678 Thu Jun 4 15:27:07 1992 David J. MacKenzie (djm@geech.gnu.ai.mit.edu)
682 Wed May 20 00:05:13 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu)
684 * xargs.c: Include sys/param.h before limits.h, not after.
686 * listfile.c: If we include a header file specifically to get
687 major et al., assume we have them.
689 Tue May 12 01:09:33 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu)
691 * locate.c (locate): Don't give fnmatch FNM_PERIOD (it's useless).
693 * parser.c (parse_path): New function.
694 * pred.c (pred_path): New function.
695 * tree.c (opt_expr): Move -path like -name.
697 * updatedb.sh: Duplicate the last entry in the file list so it
700 Mon May 11 22:24:40 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu)
702 * updatedb.sh: Allow many vars to be overridden in the environment.
704 * locate.c, updatedb.sh: FCODES -> LOCATE_DB.
706 Wed Apr 22 15:24:00 1992 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu)
708 * updatedb.sh: Use binprefix when calling find.
710 * locate.c (locate): Use LOCATE_DB environ variable if set.
712 * find.c (scan_directory): Allow for dirs having negative
713 st_size (NFS mount points on VAX 4.3BSD+NFS).
714 From metcalf@catfish.lcs.mit.edu (Chris Metcalf).
716 Sat Apr 18 15:42:52 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu)
718 * fstype.c: Rename FS_* to FSTYPE_*. Support Dynix's
719 name for the mount table.
721 Sun Mar 8 23:21:25 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
723 * listfile.c (list_file): Allow a slop factor for deciding what
726 Tue Feb 25 16:24:15 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu)
730 Sat Feb 22 08:43:01 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu)
732 * tree.c (set_new_parent): Initialize need_stat field.
734 * defs.h (struct predicate): Define p_name unconditionally.
736 Fri Feb 21 15:28:43 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu)
738 * tree.c (opt_expr): Preserve expression precedence when
739 rearranging expression tree.
740 (set_new_parent): New function.
741 (mark_stat): Set need_stat whether or not it's been set
742 earlier in the expression.
745 Mon Feb 17 10:20:38 1992 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
747 * updatedb.sh: Use current value of TMPDIR if already set.
748 From Dana Jacobsen (jacobsd@cs.orst.edu).
750 * pred.c: Include pwd.h and grp.h after unistd.h, not before.
751 Apparently needed on ISC 2.2. From Juha Takala <jta@piuha.sah.vtt.fi>.
753 Thu Feb 13 10:52:31 1992 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
755 * modetype.h: Don't define S_IFMT, because doing so breaks pred_type
756 on plain POSIX.1 systems.
758 Sat Feb 8 00:58:13 1992 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
762 Fri Feb 7 21:35:58 1992 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
764 * defs.h: Don't declare process_path.
765 * find.c [DEBUG_STAT] (debug_stat): New function.
766 (main) [DEBUG_STAT]: Call it.
767 (process_path): Return a value.
768 (scan_directory): Count number of subdirs seen so far.
769 * parser.c (pred_and, pred_close, pred_comma, pred_negate,
770 pred_open, pred_or): Don't need stat.
771 * util.c (get_new_pred_chk_op): Implicit AND doesn't need stat.
773 Fri Jan 17 21:51:18 1992 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
777 Tue Dec 24 02:16:49 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
779 * wait.h, listfile.c, xargs.c, bigram.c, code.c, locate.c:
780 Change POSIX ifdefs to HAVE_UNISTD_H and _POSIX_VERSION.
782 Wed Dec 18 16:37:17 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
784 * listfile.c: Use MAJOR_IN_MKDEV and MAJOR_IN_SYSMACROS to
785 find major and minor.
787 * code.c, bigram.c, locate.c, xargs.c: Use LIMITS_H_MISSING
788 instead of LIMITS_MISSING.
790 Sat Dec 7 06:13:26 1991 David J. MacKenzie (djm at frob.eng.umd.edu)
792 * parser.c (parse_prune): No stat needed for prune.
793 (insert_fprintf, make_segment): Possibly no stat needed,
794 depending on which information is printed.
796 * xargs.c (usage): Document long-named options as starting
797 with -- instead of +.
799 * parser.c [!POSIX]: Declare getgrent and getpwent.
801 * fstype.c (filesystem_type): Only check MNTTYPE_IGNORE if
802 it's defined. From Rainer Orth.
804 * Add leaf node optimization suggested by Matthew Farwell
805 <dylan@ibmpcug.co.uk>. Add -noleaf option to disable it.
806 Adapt parts of Tim Wood's work to current sources.
807 * find.c (scan_directory): New function, from code in process_path.
808 (process_path): Take an arg indicating whether the pathname
809 is a leaf non-directory, instead of a redundant current level.
810 * parser.c (parse_noleaf): New function.
811 (parse_print, parse_name, etc.): Set need_stat = false.
813 Wed Nov 2 13:34:32 1990 Tim Wood at home (tim at axolotl.UUCP)
815 * pred.c: Call stat() if an AND, OR or NOT node tells you to.
816 * find.c: Limit calls to stat().
818 Wed Oct 3 17:30:39 1990 Tim Wood at home (tim at axolotl.UUCP)
820 * tree.c (opt_expr): New function to rearrange predicates within
821 a conjunction/disjunction so that non-inode (-name, -regex) ones
823 * pred.c: Make some supporting tree structure changes for opt_expr().
825 Sat Dec 7 00:36:06 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
827 * xargs.c (do_exec): Simplify test for which exit
828 status to use if exec fails.
830 Fri Dec 6 18:24:06 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
832 * listfile.c (list_file): POSIX_ME_HARDER -> POSIXLY_CORRECT.
834 Thu 24 Oct 1991 21:33:21 Jim Meyering (meyering at churchy.gnu.ai.mit.edu)
836 * pred.c (pred_fprintf): Don't print "\n" unless it's in the
839 Mon Oct 21 22:30:35 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
841 * defs.h, parser.c, pred.c: Rename some types that conflict
842 with reserved POSIX.1 namespace (ended in _t).
846 Thu Oct 17 22:39:06 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
848 * xargs.c: Don't determine memory.h based on POSIX, which
851 Sat Oct 5 16:11:05 1991 Jim Meyering (meyering at churchy.gnu.ai.mit.edu)
853 * parser.c (parse_perm): Parse new `-perm +mode' notation.
854 * pred.c (pred_perm): Interpret same.
856 Fri Sep 13 14:58:27 1991 David J. MacKenzie (djm at churchy.gnu.ai.mit.edu)
858 * xargs.c [POSIX]: Always use sysconf to get ARG_MAX.
860 Thu Sep 5 23:57:06 1991 David J. MacKenzie (djm at apple-gunkies)
862 * bigram.c, code.c (main): Make path_max int, not unsigned.
863 * locate.c (main): Check for pathconf failure.
865 Thu Sep 5 11:54:44 1991 Jim Meyering (meyering at churchy.gnu.ai.mit.edu)
867 * parser.c (insert_fprintf): Add `\\' escape and fixed `%%'
869 * pred.c (pred_fprintf): fixed off-by-one indexing problem
870 when handling [gGuU] printf formats.
872 Wed Aug 28 20:53:57 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
876 Mon Aug 26 18:57:32 1991 David J. MacKenzie (djm at pogo.gnu.ai.mit.edu)
878 * bigram.c, code.c: Fix handling of PATH_MAX.
879 Check for anomalous input line lengths.
882 Fri Aug 23 11:00:18 1991 David J. MacKenzie (djm at apple-gunkies)
884 * pred.c (pred_fprintf): Round block number up to get K.
886 Thu Aug 22 10:46:30 1991 David J. MacKenzie (djm at apple-gunkies)
888 * pred.c (pred_fprintf, pred_lname) [_AIX]: Allocate PATH_MAX
889 byte for link object since st_size is wrong.
891 * listfile.c (list_file): Don't convert blocks to kilobytes if
892 env. var POSIX_ME_HARDER is defined.
894 * fstype.c [FS_AIX_STATFS]: New case.
896 * configure: Make sure the sys/mount.h is the 4.4BSD version
897 with grep instead of just testing whether it exists.
899 * listfile.c (list_file): Add 1 to number of 512-byte blocks
900 before dividing to get 1K blocks (so we round up, not down).
902 Wed Aug 21 13:02:46 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
906 * parser.c (parse_fprintf), pred.c (pred_fprintf): Add %k
907 conversion to print 1K blocks.
909 * listfile.c: Print counts of 1K blocks, for consistency with
910 new fileutils release. Bad timing, there.
914 * pred.c [VOID_CLOSEDIR]: Fake a return value for closedir,
915 which returns void on some systems, like Sequents.
916 * configure: Check sys/dir.h for 'void closedir'.
918 Thu Aug 15 16:07:46 1991 David J. MacKenzie (djm at frob)
920 * modetype.h: Define POSIX.1 stat stuff if missing.
921 * pred.c, parser.c, find.c, fstype.c: Don't define it.
922 * updatedb.sh: Use a variable substitution method like configure's.
923 * Makefile.in: Add datadir variable to separate programs from
926 * parser.c, pred.c: Rename -fulldays to -daystart.
928 * defs.h, find.c, parser.c, pred.c: Add many new predicates
929 from Jay Plett (jay@princeton.edu).
931 Wed Aug 14 14:37:06 1991 David J. MacKenzie (djm at bleen)
933 * parser.c (parse_size), pred.c (pred_size), defs.h (struct
934 size_t): Allow `k' to follow number to measure size in Kbytes.
935 * parser.c (parse_size, get_num, insert_num), defs.h (struct
936 size_t): Use enum comparison_type instead of short.
938 Fri Aug 9 00:49:32 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
940 * xargs.c (read_line): Use isblank, to support POSIX locales.
942 * fstype [FS_STATVFS]: New code for SVR4, from slootman@dri.nl
944 * configure: Figure out when to use it.
946 * configure: Check for st_blocks in struct stat.
947 * listfile.c (ST_NBLOCKS): New macro.
948 (list_file): Print file's block count.
949 Use S_ISLNK instead of S_IFLNK.
950 * fileblocks.c: New file, from fileutils.
952 Thu Aug 8 17:20:19 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
954 * parser.c, pred.c [CACHE_IDS]: Optional code to turn uid and
955 gid lookups into table lookups.
957 Wed Aug 7 00:22:29 1991 David J. MacKenzie (djm at wheat-chex)
959 * configure, Makefile.in's: Support +srcdir option via VPATH.
960 Clean up clean targets.
962 Sat Jul 20 01:11:51 1991 David J. MacKenzie (djm at apple-gunkies)
964 * configure: Filter /etc and /usr/etc from path.
966 * xargs.c (wait_for_proc): Fix handling of child exit status.
967 (main): Exit with a nonzero status if any child did.
969 * pred.c (launch): Flush stdout and stderr before forking.
971 * fstype.c (filesystem_type) [FS_MNTENT]: Skip entries of
974 Fri Jul 19 22:53:42 1991 David J. MacKenzie (djm at bleen)
976 * pred.c, locate.c: Use fnmatch instead of glob_match.
977 * fnmatch.c, fnmatch.h: New files.
979 * Many files: Use string.h if STDC_HEADERS, as well as if USG.
981 * locate.c, code.c, bigram.c: Possibly use pathconf to get
982 PATH_MAX. Use malloc to allocate path arrays.
984 * xargs.c: Possibly use sysconf to get ARG_MAX.
985 (env_size): Make definition unconditional.
986 (main): Do arg_max adjustment that can't be done with
987 preprocessor now that ARG_MAX might be a function call.
988 (do_exec): Exit with status 126 or 127 after failed exec, for
991 * xargs.c, pred.c, listfile.c: Use POSIX, not UNISTD_MISSING.
992 * wait.h: Use POSIX, not WAIT_MACROS_MISSING.
994 * COPYING: Use version 2. Update all files.
996 * Replace Makefile and lib/Makefile with Makefile.in,
997 lib/Makefile.in and configure. Update README.
999 Fri Apr 5 12:49:09 1991 David J. MacKenzie (djm at apple-gunkies)
1003 Fri Mar 15 20:44:45 1991 David J. MacKenzie (djm at geech.ai.mit.edu)
1005 * xargs.c (main): Always run the command if some args are left over.
1006 Rename some variables.
1008 Fri Jan 18 03:35:57 1991 David J. MacKenzie (djm at geech.ai.mit.edu)
1010 * bigram.c, code.c, locate.c: Use LIMITS_MISSING, not
1011 _POSIX_SOURCE, to decide whether to include limits.h.
1013 * parser.c, pred.c, listfile.c: Use POSIX, not _POSIX_SOURCE,
1014 to decide whether to declare getpwuid and getgrgid.
1016 * xargs.c: Use POSIX, not _POSIX_SOURCE, to determine whether
1017 to include memory.h.
1019 Sat Jan 12 04:12:34 1991 David J. MacKenzie (djm at wookumz.ai.mit.edu)
1021 * defs.h, find.c, parser.c, pred.c: Remove -permmask option.
1023 Thu Jan 10 04:32:52 1991 David J. MacKenzie (djm at albert.ai.mit.edu)
1025 * wait.h: Include sys/types.h to get pid_t.
1027 * xargs.c [USG && !STDC_HEADERS]: Only include memory.h if not
1030 Tue Jan 1 23:53:32 1991 David J. MacKenzie (djm at albert.ai.mit.edu)
1034 Wed Dec 26 03:25:51 1990 David J. MacKenzie (djm at apple-gunkies)
1036 * locate.c, bigram.c, code.c: Attempt to get max. path length
1037 on more kinds of systems, incl. POSIX.
1039 * pred.c, listfile.c, xargs.c: Get some decls from unistd.h,
1042 * find.c, defs.h: Make `cur_day_start' a time_t, not long.
1044 Fri Dec 21 01:49:12 1990 David J. MacKenzie (djm at egypt)
1046 * defs.h, parser.c: Remove unused field from `struct exec_t'.
1048 * xargs.c: Add +no-run-if-empty option to cause the command to
1049 not be run if the input is empty.
1051 * defs.h (struct exec_t): Change the array of offsets into an
1052 array of `struct path_arg'.
1053 * parser.c (insert_exec_ok): Fill in new fields, to allow "{}"
1054 to be substituted (multiple times) anywhere in an arg to -exec
1056 * pred.c (pred_exec): Add code to substitute "{}" within args.
1057 (pred_ok): After prompting, just run pred_exec.
1059 Thu Dec 20 02:32:09 1990 David J. MacKenzie (djm at egypt)
1061 * fstype.c (filesystem_type) [FS_MNTENT]: Allow for optional
1062 "0x" at front of "dev=" mount option, which amd puts there but
1063 Sun automounter doesn't.
1065 Sat Dec 15 19:01:12 1990 David J. MacKenzie (djm at egypt)
1067 * find.c (main), util.c (usage): Make directory args optional,
1070 Sat Dec 15 18:36:29 1990 David J. MacKenzie (djm at apple-gunkies)
1072 * listfile.c: Define major and minor if not defined (as in POSIX).
1074 Mon Dec 3 01:04:35 1990 David J. MacKenzie (djm at alborz)
1076 * find.c, fstype.c, parser.c, pred.c, util.c: Flush stdout before
1077 writing to stderr, in case they have been redirected to the
1078 same file descriptor.
1080 * pred.c (launch): Use POSIX wait macros from wait.h.
1082 * xargs.c (print_xargs): Read from tty_stream, not stdin.
1084 Tue Nov 20 16:48:24 1990 David J. MacKenzie (djm at apple-gunkies)
1088 * fstype.c [FS_USG_STATFS]: New code.
1089 [FS_STATFS]: For symlinks, statfs the directory the link is in
1090 instead of the link.
1091 * Various files: Conditionalize some declarations on
1092 STDC_HEADERS or _POSIX_SOURCE.
1094 Fri Nov 16 12:24:43 1990 David J. MacKenzie (djm at egypt)
1096 * modetype.h: New file.
1097 parser.c, pred.c: Use it.
1099 Thu Nov 15 18:05:54 1990 David J. MacKenzie (djm at apple-gunkies)
1101 * xmalloc.c: New file from fileutils.
1103 * fstype.c (fstype_to_string): Add case for MFS.
1104 (filesystem_type): Take a pathname as a second arg.
1105 [FS_STATFS] return "unknown" instead of exiting if statfs
1106 fails because of ENOENT.
1107 * pred.c (pred_fstype): Pass the pathname. Set current_dev.
1108 * find.c (process_path): Make root_dev local again.
1110 Mon Nov 12 02:54:00 1990 David J. MacKenzie (djm at apple-gunkies)
1112 * pred.c (pred_fstype): Free old fs type.
1114 * fstype.c, pred.c (pred_fstype), parser.c (parse_fstype):
1115 Reread the file system type info. every time a filesystem
1116 mount point is crossed, to allow for automounting.
1118 * xstrdup.c: New file from fileutils.
1120 * find.c (process_path): Rename root_dev to current_dev and
1121 make it global, for -fstype.
1123 * wait.h: New file taken from xargs.c.
1125 * xargs.c: Make limits.h vs. sys/param.h conditional on
1126 LIMITS_MISSING instead of USG, to accomodate SVR2.
1128 Thu Nov 8 11:52:22 1990 David J. MacKenzie (djm at apple-gunkies)
1130 * parser.c, pred.c, listfile.c: If not _POSIX_SOURCE, declare
1131 getpwuid and getgrgid. Use them.
1133 * listfile.c: If not _POSIX_SOURCE, define S_ISDIR and
1136 * find.c: Use S_ISDIR instead of S_IFDIR, and define if not
1139 * Makefile: Define AR and RANLIB and pass to child makes.
1140 lib/Makefile: Use them.
1142 * xargs.c (WIFSIGNALED): Redefine so it works.
1144 Mon Nov 5 00:02:01 1990 David J. MacKenzie (djm at apple-gunkies)
1146 * find.c (process_path): For -xdev, process filesystem
1147 mountpoints (but don't descend them), instead of skipping them
1150 * find.c, parser.c, defs.h: Add -follow predicate.
1152 * xargs.c: Change ifdefs to support STDC POSIX systems.
1154 Sat Nov 3 20:18:05 1990 David J. MacKenzie (djm at apple-gunkies)
1156 * xargs.c (do_exec): Child process exits with status 255, not
1157 127, if command can't be run.
1159 Fri Nov 2 02:11:42 1990 David J. MacKenzie (djm at apple-gunkies)
1161 * xargs.c: Exit with status 127 if running commmand fails, as
1164 * fstype.c: Support -fstype for Ultrix (-DFS_GETMNT).
1165 Sun/BSD code is now -DFS_MNTENT.
1167 Thu Nov 1 13:06:01 1990 David J. MacKenzie (djm at egypt)
1169 * Reorganize into subdirectories and add xargs. Rewrite Makefiles.
1171 * find.c (process_path, main): Allow a maxdepth of 0, meaning
1172 only process command line args.
1174 * parser.c, pred.c: Add -print0 predicate.
1176 * xargs.c: Add -0 option and long options. Move standard
1177 library functions into separate files. Use error instead of
1178 fatal and fprintf/perror. Use POSIX macros for examining exit
1180 (read_string): New function.
1182 Fri Sep 21 10:21:09 1990 David J. MacKenzie (djm at apple-gunkies)
1184 * find.c (process_path): Take DEPTH as an arg instead of ROOT,
1187 Thu Sep 20 23:58:47 1990 David J. MacKenzie (djm at apple-gunkies)
1189 * parser.c (parse_maxdepth): New function.
1190 * find.c (process_path): If -maxdepth was given, don't go
1191 more than that many levels deep.
1192 * defs.h: Declare maxdepth.
1194 Wed Sep 12 02:12:31 1990 David J. MacKenzie (djm at apple-gunkies)
1196 * parser.c: Add -not as synonym for !.
1198 Sun Aug 26 06:16:08 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu)
1200 * Makefile (TAGS): New target.
1202 Sun Aug 12 00:32:01 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
1204 * xargs.c (main): Tell getopt to not permute.
1206 Sat Aug 4 21:43:45 1990 David J. MacKenzie (djm at pogo.ai.mit.edu)
1208 * parser.c (parse_perm), pred.c (pred_perm): Always compare
1211 * locate.c, Makefile: Rename 'fastfind' program to 'locate',
1212 following comment in POSIX.2 draft 10 rationale for find.
1214 Wed Jul 25 18:45:03 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
1216 * listfile.c (getuser, getgroup): Make uid and gid unsigned
1219 Mon Jul 16 13:40:13 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
1221 * defs.h: Don't declare fprintf and printf, in case they have
1222 prototypes in stdio.h (important for functions that use stdarg).
1224 Sun Jul 15 23:39:39 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
1226 * parser.c (parse_and): New function, for compatibility.
1228 Wed Jul 4 00:17:57 1990 David J. MacKenzie (djm at apple-gunkies)
1230 * find.c (main): Only enclose expressions that produce no side
1231 effects within `( ... )'.
1233 Tue Jul 3 01:59:39 1990 David J. MacKenzie (djm at apple-gunkies)
1235 * parser.c (strspn): Stop when end of string reached.
1239 * Move version number from Makefile to new file version.c.
1240 * parser.c: Recognize new -version predicate.
1242 * find.c (main): If no predicates that produce output are
1243 given, default to -print if the entire expression is true, not
1244 just the last part of an alternation.
1245 * Print the names of predicates with invalid arguments.
1247 Mon Jul 2 23:48:17 1990 David J. MacKenzie (djm at apple-gunkies)
1249 * pred.c: Don't check for invalid comparison types in numeric
1250 predicate functions.
1252 Thu Jun 28 00:34:57 1990 David J. MacKenzie (djm at apple-gunkies)
1254 * parser.c (parse_regex): Set fastmap and translate before
1257 Mon Jun 25 18:08:59 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
1259 * fastfind.c (fastfind): Initialize count to 0.
1261 * lib/updatedb.sh: Only do regex comparison on directories,
1264 * listfile.c (list_file): Truncate user and group name to 8 chars.
1266 Sun Jun 24 13:51:27 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
1270 * Makefile [DISTFILES]: Add COPYING.
1272 Fri Jun 22 03:54:27 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
1276 Tue Jun 19 03:55:28 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
1278 * lib/updatedb.sh: Prune entries that match PRUNEREGEX.
1279 Split up finding files from computing bigrams.
1280 Use redirection instead of nonportable grep -s to detect sort
1281 failure. Optionally search network filesystems as well as
1284 * pred.c (pred_regex): Match against full pathname instead of
1286 * util.c (basename): Return "/", not "", if given "/".
1288 * find.c (process_path): Fix error in handling "/" directory.
1290 Mon Jun 18 01:49:16 1990 David J. MacKenzie (djm at apple-gunkies)
1292 * parser.c [STRSPN_MISSING] (strspn): New function.
1294 Sun Jun 17 13:54:09 1990 David J. MacKenzie (djm at apple-gunkies)
1296 * listfile.c: New file.
1297 * parser.c (parse_ls): New function.
1298 * pred.c (pred_ls): New function.
1300 * find.c (main): Remove interface to fastfind, to prevent
1301 conflict with POSIX syntax.
1302 * util.c (usage): Remove fastfind syntax from message.
1303 * fastfind.c (main): New function.
1304 * Makefile: Make fastfind a separate program.
1306 * find.c (main): Print correct message if a predicate arg is
1309 * parser.c (insert_exec_ok): Make args that start with a ';' but
1310 contain other characters not terminate the command.
1312 Fri Jun 15 00:33:45 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
1314 * fstype.c: If MOUNTED isn't defined but MNT_MNTTAB is, use it
1315 instead. True for HP/UX, at least.
1317 Thu Jun 14 10:10:25 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
1319 * savedir.c: New file; now find won't run out of file
1320 descriptors in deep trees.
1321 * find.c (process_path): Use savedir.
1323 Sat Jun 9 03:15:21 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
1325 * parser.c (parse_permmask): Allow symbolic mode masks.
1326 (parse_perm): Free 'struct change' when done with it.
1327 (get_oct): Function removed.
1329 * find.c (process_path): Allow arbitrarily-long filenames.
1330 More efficient string copying. Initialize perm_mask to 07777
1333 Thu Jun 7 04:22:42 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
1335 * Makefile, find.c: Use DIRENT to control whether <dirent.h>
1338 Thu May 31 04:46:11 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
1340 * parser.c (parse_regex): New function.
1341 * pred.c (pred_regex): New function.
1343 * fstype.c (read_mtab): If mtab entry has a "dev=" option
1344 (like in SunOS 4.1), use it, so there is no need to stat the
1345 special file later on.
1346 (xatoi, strstr): New functions.
1348 Mon May 21 01:04:42 1990 David J. MacKenzie (djm at abyss)
1350 * lib/updatedb.sh: Put BINDIR in PATH.
1352 * fstype.c: Do nothing if MNTENT_MISSING is defined.
1354 * fstype.c: New file.
1355 * parser.c (parse_fstype): New function.
1356 * pred.c (pred_fstype): New function.
1358 * parser.c (parse_newer): Failure to stat -newer file is a
1361 * pred.c (pred_ok): Flush output before reading. Use getchar
1364 * pred.c (pred_prune): Return false if -depth given.
1365 * find.c: Apply the predicates to the dir when -depth and
1368 Sun May 20 19:55:30 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
1370 * pred.c (pred_prune): Set new global var `stop_at_current_level'.
1371 * find.c (process_path): Test and reset it.
1373 Fri May 18 01:56:17 1990 David J. MacKenzie (djm at abyss)
1375 * modechange.c, modechange.h: New files.
1376 * parser.c (parse_perm): Use mode_compile and mode_adjust to
1377 parse arg, to allow symbolic mode for POSIX.
1379 Thu May 17 02:07:44 1990 David J. MacKenzie (djm at abyss)
1381 * parser.c (get_oct): Don't consider an empty string a valid number.
1383 * parser.c (parse_perm): If arg starts with '-', set flag bit
1384 for special comparison (POSIX).
1385 * pred.c (pred_perm): If flag bit set, compare s[ug]id &
1386 sticky bits as well, and return true if the given perms are
1387 set, ignoring other bits.
1389 * find.c: New global var `exit_status'. Use it. (POSIX)
1390 * parser.c: Set `exit_status' if lstat on -newer file fails.
1392 * fastfind.c: New file.
1393 * find.c (main): Call fastfind if given only 1 arg.
1394 * util.c (usage): Update message.
1395 * lib/{Makefile,updatedb.sh,bigram.c,code.c}: New files.
1396 * Makefile: Add 'all' and 'install' targets.
1398 Wed May 16 23:23:35 1990 David J. MacKenzie (djm at abyss)
1400 * parser.c (parse_nogroup, parse_nouser): Implement.
1401 * pred.c (pred_nogroup, pred_nouser): Implement.
1403 Mon May 14 00:09:35 1990 David J. MacKenzie (djm at abyss)
1405 * find.c: Add variable `stay_on_filesystem' for -xdev.
1406 (process_path): Take an arg determining whether this call is
1407 the root of a tree. Use lstat instead of stat. If
1408 stay_on_filesystem, don't process a dir on a different
1411 * parser.c (parse_newer): Use lstat instead of stat. Is this right?
1412 (parse_xdev): Set stay_on_filesystem.
1414 * parser.c: Add dummy parse_nogroup, parse_nouser,
1415 parse_prune, and parse_xdev; to be written later.
1416 * pred.c: Add dummy pred_nogroup, pred_nouser, pred_prune.
1418 * find.c: Support System V directory library/headers.
1420 * find.c (process_path): Don't continue with a file that stat
1423 * defs.h, parser.c, pred.c: Change 'u_long' and 'u_short' to
1424 'unsigned long' and 'unsigned short'.
1425 * find.c, defs.h: Remove 'convert_glob' variable.
1426 * parser.c (parse_fullregex): Function removed.
1427 (parse_name): Remove regular expression code.
1428 (parse_type): Recognize sockets.
1429 Add code to check for missing arguments to many parse_* functions.
1430 * pred.c (pred_name): Use glob_match instead of regex.
1432 Sun May 13 17:45:09 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
1434 * Replace fprintf, simple_error, and mem_error with error and
1437 * Fix string header includes for USG.
1439 Tue Mar 27 12:40:29 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
1441 * defs.h: Change some #defines to enums.
1443 Sun Mar 25 22:08:58 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
1445 * find.c (main): Don't take basename of argv[0].
1447 * util.c (xmalloc): New function.
1448 * find.c, parser.c, utils.c: Use xmalloc instead of malloc.
1450 * pred.c: Remove emulation of regex for BSD and use GNU
1451 library version in regcmp.c instead.
1452 * parser.c: Remove emulation of regcmp for BSD and use GNU
1453 library version in regcmp.c instead.
1454 * Makefile: Link with regex.o and regcmp.o.
1455 Add a DISTFILES macro and dist target.
1457 * Indent source code. Move RCS logs to this file.
1459 Wed Mar 21 09:30:18 1990 David J. MacKenzie (djm at pogo.ai.mit.edu)
1461 * xargs.c: Indent. Comment and rename some global variables.
1462 (main): Use getopt to parse options. Open new global var
1463 `tty_stream' to /dev/tty if querying requested.
1464 (print_args): Read response from tty_stream, not stdin.
1465 (xmalloc): New function.
1466 Global: Use xmalloc instead of malloc.
1467 (usage): Revise message.
1469 87/02/22 20:01:20 20:01:20 cire (Eric B. Decker)
1471 * pred.c: added guts to pred_size
1473 87/02/22 00:59:42 00:59:42 cire (Eric B. Decker)
1475 * pred.c: added guts to perm and permmask.
1477 87/02/21 23:02:21 23:02:21 cire (Eric B. Decker)
1479 * pred.c: made pred_name only look at the last component of
1482 87/02/21 22:26:47 22:26:47 cire (Eric B. Decker)
1484 * pred.c: added guts to name. useds regex and regcmp to do
1485 regular expression handling.
1487 87/02/21 00:17:21 00:17:21 cire (Eric B. Decker)
1489 * pred.c: added predicate newer
1491 87/02/20 11:40:07 11:40:07 cire (Eric B. Decker)
1493 * pred.c: added guts to pred_ok
1495 87/02/19 23:52:37 23:52:37 cire (Eric B. Decker)
1497 * pred.c: finished exec.
1499 87/02/22 20:01:09 20:01:09 cire (Eric B. Decker)
1501 * parser.c: added guts to parse_size
1503 87/02/22 00:59:16 00:59:16 cire (Eric B. Decker)
1505 * parser.c: added guts of perm and permmask. added getoct
1506 routine for perm and permmask
1508 87/02/21 23:32:50 23:32:50 cire (Eric B. Decker)
1510 * parser.c: added -fre, -fullregex predicate to turn off
1513 87/02/21 23:01:01 23:01:01 cire (Eric B. Decker)
1515 * parser.c: reworked name so the regexpr pattern includes $ at
1516 the end to force globbing to work correctly. End of the
1517 pattern refers to the end of the filename.
1519 87/02/21 22:25:34 22:25:34 cire (Eric B. Decker)
1521 * parser.c: added guts to name. uses a conversion from
1522 globbing to regexp format. uses regex and regcmp to actually
1525 87/02/21 00:17:11 00:17:11 cire (Eric B. Decker)
1527 * parser.c: added predicate newer
1529 87/02/20 11:39:35 11:39:35 cire (Eric B. Decker)
1531 * parser.c: added ok guts. consolidated exec and ok to using
1534 87/02/19 00:20:54 00:20:54 cire (Eric B. Decker)
1536 * parser.c: minor bug in -fulldays predicate parser. It
1537 should have set the flag full_days to true.
1539 87/02/22 00:58:32 00:58:32 cire (Eric B. Decker)
1541 * find.c: changed where we are setting perm_mask to -1. need
1542 to make sure that this happens before every apply_predicate.
1544 87/02/21 23:32:11 23:32:11 cire (Eric B. Decker)
1546 * find.c: added error checking for no paths. better error
1547 message if illegal ordering.
1549 87/02/21 22:19:58 22:19:58 cire (Eric B. Decker)
1551 * find.c: added global convert_glob
1553 87/02/22 20:00:12 20:00:12 cire (Eric B. Decker)
1555 * defs.h: added definition of BLKSIZE for size
1557 87/02/21 22:19:25 22:19:25 cire (Eric B. Decker)
1559 * defs.h: added global convert_glob for name