source: trunk/third/findutils/ChangeLog @ 18890

Revision 18890, 67.6 KB checked in by zacheiss, 22 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r18889, which included commits to RCS files with non-trunk default branches.
Line 
12001-05-20  Kevin Dalley  <kevin@seti.org>
2
3        * Version 4.1.7
4       
5        * lib/Makefile.am (EXTRA_DIST): add strcasecmp.c
6
7        * find/testsuite/Makefile.am (EXTRA_DIST): new tests:
8        find.gnu/name-opt.exp find.gnu/perm.exp find.gnu/perm.xo
9        find.gnu/prune-default-print.exp find.gnu/prune-default-print.xo
10
11        * configure.in: update to 4.1.7
12
13        * config.sub, config.guess: upgraded to recent versions of
14        config.sub and config.guess.
15
16        * locate/updatedb.sh: Add space to "#! /bin/sh"
17
18        * configure.in: Add id to ALL_LINGUAS
19
20        * lib/Makefile.am (EXTRA_DIST):  getline.[ch] added
21        (libfind_a_SOURCES): getline.[ch] removed since getline.c is not
22        always needed.
23
242001-05-20  Lionel CONS <lionel.cons@cern.ch>
25
26        * find/find.c: Fixed security holes.  1.  There is a race
27        condition between the lstat() to detect a symbolic link and the
28        actual chdir().  2.  An attacker can move directories while find
29        is _inside_ so that chdir(..) goes out of the intended file tree.
30
31        * lib/modetype.h: support for Solaris door files is added.
32
33        * lib/filemode.c: S_ISDOOR is undef'ed if STAT_MACROS_BROKEN
34
35        * find/pred.c (pred_type): -D option (for Solaris door files) is
36        added.
37
38        * find/parser.c (insert_type):  -D option (for Solaris door files)
39        is added.
40
41        * find/find.1: -D option (for Solaris door files) is documented
42
43        * doc/find.texi (Type): -D option (for Solaris door files) is
44        documented
45
462001-05-02  Kevin Dalley  <kevin@seti.org>
47
48        * configure.in: Change AC_CHECK_MEMBERS to conform to new
49        autoconf.  Add Danish.
50
512001-01-20  Kevin Dalley  <kevin@seti.org>
52
53        * doc/find.texi (Adding Tests): Place space in "#! /bin/sh".
54
55        * find/testsuite/find.gnu/prune-default-print.xo,
56        find/testsuite/find.gnu/prune-default-print.exp: test for "find
57        . -prune" which passes after changes.  Also see name-opt.exp.
58
59        * find/util.c (get_new_pred):
60        * find/tree.c (set_new_parent):
61        * find/parser.c (various parse functions):
62        * find/find.c (main):
63        (default_prints): new function
64        * find/defs.h (struct predicate): added no_default_print
65        side_effects are no separated from no_default_print.  predicates
66        which cause side effects should not be reordered (optimized).
67        predicates which cause printing should have printing turned off.
68        Printing statements also cause side effects.
69
702000-10-29  Bruno Haible <haible@ilog.fr>
71
72        * locate/code.c (main), doc/find.texi: improve handling of
73        non-ASCII characters used old format.
74
752000-10-21  Paul Eggert  <eggert@twinsun.com>
76
77        If open + fchdir fails, fall back on xgetcwd + chdir.
78        The old code tested for this at compile-time,
79        but SunOS 4.1.4 fchdir can fail at run-time.
80
81        * find/defs.h (fchdir): Define to -1 if not available.
82        * find/defs.h (starting_dir, starting_desc):
83        Always declare.  starting_dir now points to const.
84        * find/find.c (starting_dir, starting_desc): Likewise.
85        * find/find.c (starting_dir):
86        Now "." if starting_desc is nonnegative, for benefit of diagnostics.
87        (main, process_top_path, process_dir):
88        If open + fchdir fails, fall back on xgetcwd + chdir.
89        * find/pred.c (launch): Likewise.
90
912000-10-20  Kevin Dalley  <kevin@seti.org>
92
93        * xargs/xargs.c, locate/updatedb.sh, locate/locate.c (usage),
94        find/parser.c (parse_help): add bug reporting address to help
95
962000-10-13  Kevin Dalley  <kevin@seti.org>
97
98        * depcomp, lib/depcomp: depcomp moved from lib to .
99
1002000-10-11  Kevin Dalley  <kevind@rahul.net>
101
102        * Version 4.1.6
103       
104        * locate/testsuite/config/unix.exp: set PRUNEFS to "" for the
105        testsuite.
106
1072000-10-10  Bruno Haible <haible@ilog.fr>
108
109        * lib/Makefile.am (libfind_a_SOURCES): added yesno.c
110
111        * lib/yesno.c, lib/rpmatch.c: new files.
112
113        * find/pred.c: use function yesno().
114
1152000-10-10  Kevin Dalley  <kevind@rahul.net>
116       
117        * locate/testsuite/Makefile.am: Added missing \ at end of
118        EXTRA_DIST lines.
119
120        * locate/testsuite/locate.gnu/ignore_case3.xo,
121        locate/testsuite/locate.gnu/ignore_case3.exp,
122        locate/testsuite/locate.gnu/ignore_case2.exp,
123        locate/testsuite/locate.gnu/ignore_case1.xo,
124        locate/testsuite/locate.gnu/ignore_case1.exp: place locatedb
125        inside tmp directory, add subdir directory under tmp.
126
127        * locate/testsuite/config/unix.exp: clean up tmp after test is
128        finished.
129
1302000-10-10  Kevin Dalley  <kevind@rahul.net>
131
132        * locate/testsuite/config/unix.exp (Repository):
133
1342000-10-09  Kevin Dalley  <kevind@rahul.net>
135
136        * lib/fnmatch.c, lib/fnmatch.h: reverted to older version of
137        fnmatch which works with Solaris.
138
139        * locate/testsuite/config/unix.exp: dejagnu unix.exp
140
141        * xargs/testsuite/config/unix.exp: remove temporary file
142
143        * xargs/xargs.c: spelling correction
144
145        * m4/prereq.m4: updated and changed some macros
146
147        * m4/jm-macros.m4: replaced jm_FUNC_FNMATCH with
148        kd_FUNC_FNMATCH_CASE_REPL
149
150        * m4/timespec.m4, m4/strerror_r.m4, m4/mbstate_t.m4,
151        m4/largefile.m4, m4/gettext.m4, m4/fnmatchcase.m4, m4/d-type.m4,
152        m4/d-ino.m4, m4/c-bs-a.m4: new m4 macros.
153
154        * m4/Makefile.am: add fnmatchcase.m4 and mbstate_t.m4
155
156        * locate/testsuite/locate.gnu/ignore_case3.xo,
157        locate/testsuite/locate.gnu/ignore_case3.exp,
158        locate/testsuite/locate.gnu/ignore_case2.xo,
159        locate/testsuite/locate.gnu/ignore_case2.exp,
160        locate/testsuite/locate.gnu/ignore_case1.xo,
161        locate/testsuite/locate.gnu/ignore_case1.exp,
162        locate/testsuite/config/unix.exp: tests related to "--ignore-case"
163        option.
164
165        * locate/testsuite/locate.gnu: testsuite directory
166
167        * locate/testsuite/Makefile.am (Repository):
168
169        * locate/testsuite: add directory for locate testsuite
170
171        * po/findutils.pot: updated file
172
173        * po/sv.po, po/ru.po, po/pt_BR.po, po/pl.po, po/nl.po, po/ko.po,
174        po/it.po, po/gl.po, po/fr.po, po/et.po, po/es.po, po/de.po:
175        updated various po files.
176
177        * locate/updatedb.sh: export TMPDIR, which is used by child
178        processes.
179
180        * locate/locate.1, locate/locate.c:  add "--ignore-case" option.
181
182        * locate/Makefile.am: add testsuite subdirectory
183
184        * find/testsuite/find.gnu/perm.xo,
185        find/testsuite/find.gnu/perm.exp,
186        find/testsuite/find.gnu/name-opt.xo,
187        find/testsuite/find.gnu/name-opt.exp: added test suites
188
189        * configure.in: add locate/testsuite/Makefile
190
191        * doc/find.info*: removed from repository
192
193        * doc/find.texi: add documentation for "-i" option.
194
195        * aclocal.m4: removed from repository, as it is generated.
196
197        * find/pred.c: fixes problem with "find -perm -0100".
198
199        * lib/lstat.c, lib/stat.c: removed from repository.  These files
200        are generated from lib/xstat.in.
201
2022000-08-24  Kevin Dalley  <kevind@rahul.net>
203
204        * doc/find.texi (Invoking xargs): changed @var{-s} to @samp{-s}.
205
2062000-05-13  Kevin Dalley  <kevind@rahul.net>
207
208        * find/tree.c (opt_expr): move iname and ipath to the front of the
209        list of arguments.
210
211        * doc/find.texi (Directories): changed wording for "-prune".
212
213        * find/parser.c (parse_prune): set side_effects to true, to
214        prevent prune from being moved in opt_expr.
215
2162000-04-12  Kevin Dalley  <kevind@rahul.net>
217
218        * doc/find.texi, doc/permi.texi: fix spellings, add LocalWords.
219
220        * lib/Makefile.am: put getline.c back into libfind_a_SOURCES,
221        since getstr is needed.
222
223        * Version 4.1.5
224       
225        * po/POTFILES.in: updated list of files, updated po files.
226
227
2282000-04-02  Paul Eggert  <eggert@twinsun.com>
229
230        Add support for large files, and port to Solaris 8 and earlier
231        versions.
232
233        * lib/human.c (getenv): Depend on NEED_GETENV_DECL, not
234        HAVE_DECL_GETENV.
235
236        * lib/strftime.c (my_strftime): Make sure we call the system
237        strftime, not ourselves, when invoking the underlying strftime.
238       
239        * m4/check-decl.m4 (jm_CHECK_DECLS): Remove memchr, nanosleep.
240
241        * m4/jm-macros.m4 (jm_MACROS): Don't check for utime.h.  Do not
242        require jm_BISON, jm_CHECK_TYPE_STRUCT_UTIMBUF, jm_FUNC_LCHOWN,
243        jm_FUNC_CHOWN, jm_FUNC_NANOSLEEP, jm_FUNC_GROUP_MEMBER,
244        jm_FUNC_PUTENV, jm_FUNC_GETGROUPS, AM_FUNC_GETLOADAVG,
245        jm_SYS_PROC_UPTIME, jm_FUNC_FTRUNCATE, jm_FUNC_UTIME.  Do not
246        replace strcasecmp, dup2, gethostname, getusershell, stime,
247        strcspn, strpbrk, euidaccess, mkdir, rmdir, rpmatch, strndup,
248        strverscmp, memchr, memmove.  Do not check for declaration of
249        lchown.  Remove invocations of AM_FUNC_OBSTACK, AM_FUNC_STRTOD,
250        POW_LIBM, jm_LANGINFO_CODESET, jm_ICONV.  Remove df tests.
251        (jm_CHECK_ALL_TYPES): Include <sys/stat.h> when checking for
252        struct stat.st_blksize.
253
254        * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set environment variable
255        in shell rather than using putenv, which isn't portable.
256       
257        * COPYING, lib/alloca.c, lib/dirname.c, lib/error.c,
258        lib/savedir.c, lib/strstr.c, m4/check-decl.m4, m4/d-ino.m4,
259        m4/d-type.m4, m4/getline.m4, m4/jm-glibc-io.m4, m4/jm-macros.m4,
260        m4/jm-mktime.m4, m4/ls-mntd-fs.m4, m4/memcmp.m4, m4/prereq.m4,
261        m4/readdir.m4, m4/regex.m4, m4/strftime.m4, m4/uintmax_t.m4: Sync
262        to latest version from sh-utils-2.0g.
263
264        * config.guess, config.sub, lib/argmatch.c, lib/argmatch.h,
265        lib/human.c, lib/human.h, lib/memcpy.c, lib/quotearg.c,
266        lib/quotearg.h, lib/strtoull.c, lib/strtoumax.c,
267        lib/xstrtoumax.c, m4/c-bs-a.m4, m4/gettext.m4,
268        m4/largefile.m4, m4/lcmessage.m4, m4/link-follow.m4,
269        m4/progtest.m4, m4/strerror_r.m4, m4/timespec.m4,
270        m4/xstrtoumax.m4: New files, taken from sh-utils-2.0g.
271
272        * lib/ansi2knr.1, lib/ansi2knr.c, lib/basename.c, lib/getopt.h,
273        lib/fnmatch.c, lib/fnmatch.h, lib/modechange.c: Sync to latest
274        unreleased version of GNU tar (between 1.13.17 and 1.13.18).
275
276        * lib/basename.h, lib/waitpid.c: New files, taken from same
277        version of GNU tar.
278       
279        * lib/regex.c, lib/regex.h: Sync to GNU grep 2.4.2.
280
281        * lib/posix/Makefile.am, lib/posix/regex.h: New files, taken from
282        GNU grep 2.4.2.
283
284        * lib/strftime.c: Sync to textutils 2.0e.
285       
286        * acconfig.h, depcomp, lib/strcasecmp.c, m4/check-type.m4,
287        m4/const.m4, m4/decl.m4, m4/lfs.m4, m4/mktime.m4, m4/perl.m4,
288        m4/putenv.m4, m4/uptime.m4, m4/utimbuf.m4, m4/utime.m4,
289        m4/utimes.m4: Remove these files; no longer needed.
290
291        * configure.in (AC_CANONICAL_HOST, AC_SYS_LARGEFILE,
292        jm_AC_TYPE_UINTMAX_T): Add.
293        (CACHE_IDS, FSTYPE_STATVFS, FSTYPE_USG_STATFS, FSTYPE_AIX_STATFS,
294        FSTYPE_MNTENT, FSTYPE_STATFS, FSTYPE_GETMNT): Add comment, so that
295        we don't need acconfig.h.
296        (AC_CHECK_TYPE): Add ssize_t.
297        (AC_REPLACE_FUNCS): Add waitpid.
298        (AC_CHECK_FUNCS): Remove basename.
299        (AC_FUNC_MKTIME): Remove.
300        (LIBOBJS): Add no-ops to work around automake 1.4 bug.
301        (AC_OUTPUT): Add lib/posix/Makefile.
302
303        * find/defs.h: Include <config.h>, <sys/types.h>, <sys/stat.h>,
304        <stdio.h>, <limits.h>, <inttypes.h>.  All includers changed to not
305        include these files, and to include "defs.h" first (since config.h
306        must be included first).
307        (CHAR_BIT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
308        S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, MOD_WXUSR,
309        MODE_R, MODE_RW, MODE_RWX, MODE_ALL): New macros.
310        (enum permissions_type): New enum.
311        (struct long_val.negative): New member.
312        (struct long_val.l_val): Now uintmax_t, not unsigned long.
313        (struct size_val.size): Likewise.
314        (struct perm_val): New type.
315        (struct predicate.perm): Now struct perm_val, not unsigned long.
316        (struct predicate.type): Now mode_t, not unsigned long.
317        (list_file): New parameters current_time, output_block_size.
318        All callers changed.
319        (savedir, basename): Remove decls.
320        (output_block_size, start_time): New extern vars.
321
322        * find/find.c: Include <human.h>, <savedir.h>.
323        (output_block_size, start_time): New vars.
324        (main): Initialize them.  No need to check for negative st_size,
325        since savedir now does it for us.
326
327        * find/fstype.c: Include "dirname.h".
328        (xatoi): Remove.
329        (filesystem_type_uncached): Use xstrtoumax instead of xatoi.
330       
331        * find/parser.c: Include "xstrtol.h".
332        (get_num_days, get_num, parse_amin, parse_cmin, parse_mmin,
333        parse_size, parse_used, insert_time, insert_num): Compute using
334        uintmax_t, not unsigned long.
335        (parse_amin, parse_cmin, parse_mmin, parse_used, insert_time):
336        Keep track of whether time was negative before converting it to an
337        unsigned type.
338        (parse_daystart): Don't assume that localtime succeeds; e.g. it
339        can fail with 64-bit time_t and 32-bit tm_year.
340        (parse_perm, insert_type): Compute using mode_t, not unsigned
341        long.
342        (insert_type): Use symbolic constants like MODE_ALL instead of
343        traditional ones like 07777.  Set new kind member to indicate
344        permissions type, instead of using unportable magic numbers.
345        (make_segment): We will use human_readable to convert most numeric
346        values, so simplify the cases.
347        (get_num_days): Write in terms of get_num, to avoid duplicated
348        code.
349        (insert_time, insert_num): When debugging, convert large values to
350        uintmax_t and output with %ju.
351        (get_num): Use xstrtoumax to do the real work.
352
353        * find/pred.c: Include "basename.h", "human.h".
354        (DEV_BSIZE, ST_BLKSIZE, ST_NBLOCKSIZE): New macros, taken from
355        fileutils.
356        (ST_NBLOCKS): Replace with fileutils defn.
357        (MAX): New macro.
358        (ctime_format): New function.
359        (pred_fprintf, format_date): Use human_readable to output large
360        numbers portably.
361        (pred_fprintf): Use ctime_format to output ctime-style dates.  Use
362        base_name to compute the base name of a path.  With %m, output the
363        mode portably using traditional numbers, even if the host uses
364        some other numbering scheme.
365        (pred_iname, pred_name): basename -> base_name.
366        (pred_perm): Use new kind member to deduce permissions type,
367        instead of relying on magic numbers.
368        (pred_size): Compute using uintmax_t, not unsigned long.  Avoid
369        overflow if file size is near the maximum.
370        (pred_type): Compute using mode_t, not unsigned long.
371        (launch): Use waitpid, not wait.  Check for EINTR.
372        (format_date): Don't assume that localtime succeeds.
373
374        * find/util.c (basename): Remove; we now use base_name.
375
376        * lib/Makefile.am (SUBDIRS): New macro.
377        (libfind_a_SOURCES): Add argmatch.h, argmatch.c, basename.h,
378        basename.c, human.c, human.h, quotearg.c, quotearg.h, xstrtoumax.c.
379        Remove error.h, error.c, getline.c.
380        (EXTRA_DIST): Add mktime.c, regex.c.
381
382        * lib/listfile.c: Include "human.h".
383        (alloca): Declare, or include appropriate files to declare.
384        (DEV_BSIZE, ST_NBLKSIZE, ST_NBLOCKS, ST_NBLOCKSIZE): New macros.
385        (convert_blocks): Remove.
386        (list_file): New current_time and output_block_size args.
387        Revamp quite a bit, to handle large numbers correctly
388        and to match GNU ls behavior more closely.
389
390        * m4/Makefile.am (EXTRA_DIST): Add c-bs-a.m4, gettext.m4,
391        largefile.m4, lcmessage.m4, link-follow.m4, progtest.m4,
392        strerror_r.m4, xstrtoumax.m4.  Remove check-type.m4, const.m4,
393        decl.m4, lfs.m4, mktime.m4, perl.m4, putenv.m4, timespec.m4,
394        uptime.m4, utimbuf.m4, utime.m4, utimes.m4.
395
396        * xargs/xargs.c (wait_for_proc): Retry wait if it fails with
397        errno == EINTR.
398
3992000-04-05  Kevin Dalley  <kevind@rahul.net>
400
401        * xargs/Makefile.am:  add ansi2knr
402
403        * xargs/xargs.c: add macros PARAMS rather than P_.  Add
404        prototypes.
405
406        * po/POTFILES: new file listing all POFILES.
407
408        * m4/gl.po, m4/et.po: new files
409
410        * m4/Makefile.am.in:  updated file
411
412        * m4: update directory
413
414        * locate/Makefile.am: create updatedb from updatedb.sh
415
416        * locate/updatedb.sh, locate/updatedb.in: removed file.  Replaced
417        by updatedb.sh
418
419        * locate/frcode.c, locate/code.c, locate/bigram.c: add macros
420        PARAMS rather than P_.  Add prototypes.
421
422        * lib/xstat.in: new file
423
424        * lib/Makefile.am: update to latest versions of library files.
425
426        * find/testsuite/Makefile.am: add CLEANFILES
427
428        * find/util.c: remove definition of basename
429       
430        * find/util.c, find/tree.c, find/pred.c, find/parser.c,
431        find/fstype.c, find/find.c, find/defs.h: add macros PARAMS rather
432        than P_, for consistency, change to prototypes
433
434        * find/Makefile.am: Add prototypes and ansi2knr
435
436        * configure.in: add Galition and Estonian languages.
437        Miscellaneous other fixes.
438       
439
4402000-03-11  Kevin Dalley  <kevind@rahul.net>
441
442        * lib/basename.c: Add file from libit.
443        * lib/Makefile.am (libfind_a_SOURCES): add basename.c since it is
444        no longer replaceable.
445
446        * find/util.c: Remove definition of basename, which is now in
447        lib/basename.c (as base_name).
448        * find/pred.c: Use base_name, not basename.
449        * find/defs.h: Likewise.
450
451        * configure.in : Don't replace basename.  Now we use only
452        base_name.
453
4542000-02-26  Kevin Dalley  <kevind@rahul.net>
455
456        * Version 4.1.4
457       
458        * lib/strtoul.c: added to distribution
459       
460        * configure.in: added strtoul to AC_REPLACE_FUNCS
461
462        * configure.in: added jm_CHECK_ALL_TYPE
463
4642000-02-23  Kevin Dalley  <kevind@rahul.net>
465
466        * po/ChangeLog: removed, merged with top-level ChangeLog.
467       
468        * po/de.po: new version of German file.
469       
470        * po/gl.po, po/et.po: new languages, Estonian and Galician.
471
472        * locate/updatedb.sh (PRUNEFS): enclose paths in quotes
473
4742000-02-17  Kevin Dalley  <kevind@rahul.net>
475
476        * po/it.po: new version of Italian file.
477       
478        * locate/updatedb.sh (prunefs_exp): have sed statement use '*'
479        rather than the often unsupported '+'.
480
4812000-02-13  Kevin Dalley  <kevind@rahul.net>
482
483        * configure.in: removed AC_ARG_PROGRAM, which is already in
484        AM_INIT_AUTOMAKE.
485
486        * locate/Makefile.am (updatedb), locate/updatedb.sh: add
487        transforms of find, frcode, bigram, and code back into
488        updatedb.sh, which were accidentally removed.
489
4902000-02-12  Kevin Dalley  <kevind@rahul.net>
491
492        * lib/wait.h: updated address.
493
4942000-01-26  Kevin Dalley  <kevind@rahul.net>
495
496        * Version 4.1.3
497
498        * acconfig.h: added internationalization.
499
500        * intl/*: copied from tar-1.13.17.
501
502        * locate/Makefile.am, locate/locate.c, locate/code.c:
503        internationalized file.
504
505        * locate/frcode.c, locate/bigram.c: include headers from ../lib
506        directory.
507
508        * xargs/Makefile.am, xargs/xargs.c: internationalized directory.
509
5102000-01-26  Kevin Dalley  <kevind@rahul.net>
511
512        * POTFILES.in: added list of files with translatable strings.
513
514        * de.po, es.po, fr.po, it.po, ko.po, nl.po, pl.po, pt_BR.po,
515        ru.po, sv.po: New, slightly out of date, files imported from the
516        Translation Project: http://www.iro.umontreal.ca/contrib/po/HTML/,
517        German, Spanish, French, Italian, Korean, Dutch, Polish, Brazilian
518        Portuguese.
519
520
5212000-01-24  Kevin Dalley  <kevind@rahul.net>
522
523        * lib/xmalloc.c, lib/regex.c, lib/getopt.c: internationalization
524        works with current version of gettext.
525
526        * lib/getline.h : added declaration of getstr.
527        * lib/Makefile.am (libfind_a_SOURCES): added getline.[ch] to
528        standard compilation. Added internationalization.
529        * find/Makefile.am (INCLUDES): corrected -I options for building
530        in other directories.
531        (LDADD): changes for internationalization.
532
533        * configure.in (ALL_LINGUAS): added internationalization.
534        getline.c is always compiled and linked, because of getstr.
535        AM_GNU_GETTEXT
536
537        * Makefile.am:
538        (DISTCLEANFILES): added intl/libintl.h
539        (AUTOMAKE_OPTIONS): added gnits to AUTOMAKE_OPTIONS
540        (SUBDIRS): added intl and po
541
542        * acconfig.h: added internationalization values
543
544        * THANKS: added thanks file for gnits compatibility.
545
5462000-01-22  Kevin Dalley  <kevind@rahul.net>
547
548        * added intl directory.
549
550        * Added internationalization, only with slightly out of date po
551        files for many locales.
552
5532000-01-18  Kevin Dalley  <kevind@rahul.net>
554
555        * Version 4.1.2
556       
557        * locate/Makefile.am: remove creation of updatedb, since it is now
558        made by configure
559
560        * configure.in: updatedb is now created by configure.
561
562        * xargs/Makefile.am: added testsuite to xargs directory
563
564        * locate/updatedb.in: updatedb is now created by configure
565
566        * locate/frcode.c, locate/code.c, locate/bigram.c: change return
567        from main to int.  Replace getstr with getline, where possible.
568
569        * locate/Makefile.am: place frcode, code, bigram in
570        libexec_PROGRAMS
571
572        * lib/xstrdup.c, lib/xmalloc.c, lib/xgetcwd.c, lib/xalloc.h,
573        lib/strtol.c, lib/strstr.c, lib/strftime.c, lib/strdup.c,
574        lib/stpcpy.c, lib/stat.c, lib/savedir.h, lib/savedir.c,
575        lib/regex.h, lib/regex.c, lib/realloc.c, lib/pathmax.h,
576        lib/modechange.h, lib/modechange.c, lib/mktime.c, lib/memset.c,
577        lib/memcmp.c, lib/malloc.c, lib/lstat.c, lib/idcache.c,
578        lib/getopt1.c, lib/getopt.c, lib/getopt.h, lib/getline.c,
579        lib/getline.h, lib/fnmatch.c, lib/fnmatch.h, lib/filemode.c,
580        lib/filemode.h, lib/fileblocks.c, lib/error.c, lib/error.h,
581        lib/dirname.c, lib/alloca.c: updated to newer version of file from
582        fileutils.
583
584        * find/version.c: version number is now automatically generated by
585        configure.
586
587        * find/fstype.c (filesystem_type_uncached): fixes bug described as
588        follows:  When 'find' looks for a fstype, it parses the /etc/mtab
589        until it finds the good line. But, if there is, before the good
590        line, a line whose mountpoint is unreachable, it fails.
591
592        * doc/texinfo.tex: updated to newer version
593
594        * doc/find.texi: added version.texi, fixed a few documentation bugs.
595
596        * configure.in: new m4 features.
597
598        * Makefile.am: moved testsuite to below corresponding directories
599        find and xargs.
600
601        * acconfig.h: updated to match new m4 files.
602
603        * m4: added m4 directory, largely borrowed from Jim Meyering's
604        fileutils.
605
6062000-01-17  Kevin Dalley  <kevind@rahul.net>
607
608        * doc/find.texi (Multiple Files): placed missing xargs in examples
609
610        * find/testsuite/find.gnu/depth.exp: added find tests to test
611        "-depth" bug.
612
613        * doc/find.texi: include version.texi for automatic determination
614        of version number, update bug report email address to
615        bug-findutils@gnu.org.
616        (Combining Primaries With Operators): add indices for " ,", "()",
617        "-a", "-o", etc.
618
6192000-01-17  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
620
621        * find/tree.c (opt_expr): Never rearrange the arguments of the
622        comma operator, since it is not commutative.  Remove useless
623        assignment.2
624       
6252000-01-17  Jonathan R. Ferro <jferro@corwin.ece.cmu.edu>
626       
627        * find/find.c (process_path): fix problem with "-depth" which is
628        tested in depth.exp test.
629
6301999-08-15  Kevin Dalley  <Kevin Dalley <kevin@seti.org>>
631
632        * find/fstype.c (filesystem_type_uncached): a stat failure with
633        EACCESS will ignore this file system keep on looking.  Patch
634        suggested by Vincent Danjean <vdanjean@ens-lyon.fr>.
635
6361999-08-15  Mark Kettenis  <kettenis@gnu.org>
637
638        * xargs/xargs.c (LONG_MAX): Define if necessary.
639        (main): If ARG_MAX is -1 (that is sysconf
640        (_SC_ARG_MAX) returns -1) the system does not impose a limit.  In
641        that case, use LONG_MAX as the limit.
642       
6431999-08-15  Kevin Dalley  <Kevin Dalley <kevind@rahul.net>
644
645        * find/version.c: version string is now set by config.h
646
6471999-08-08  Kevin Dalley  <kevin@seti.org>
648
649        * Version 4.1.1
650
651        * README-alpha: added alpha README file
652
653        * find/defs.h: move lstat declarations into defs.h
654
655        * xargs/Makefile.am, testsuite/Makefile.am, locate/Makefile.am,
656        lib/Makefile.am, find/Makefile.am, doc/Makefile.am, configure.in,
657        Makefile.am: update for automake-1.4
658
6591999-08-02  Kevin Dalley  <kevind@rahul.net>
660
661        * AUTHORS: added file listing AUTHORS
662
663        * lib/Makefile.am: modified code for EXTRA sources
664       
6651999-01-30  Kevin Dalley  <kevind@rahul.net>
666
667        * added const to declaration of basename, which should satisfy
668        Linux as well as Hurd (fixes bug #31325).
669       
6701998-12-04  Kevin Dalley  <kevind@rahul.net>
671       
672        * lib/nextelem.c: removed declaration of strdup and free, which
673        meets GNU coding standards and allows compilation on more
674        platforms.
675       
676        * find.texi: corrected explanation of -amin option which described
677        hours instead of minutes
678       
6791998-09-26  Kevin Dalley  <kevind@rahul.net>
680       
681        * lib/getline.c: fix getstr so that it correctly handles long file
682        paths
683       
6841998-09-20  Kevin Dalley  <kevind@rahul.net>
685       
686        * removed more function declarations to meet GNU coding standards
687       
6881998-08-30  Kevin Dalley  <kevind@rahul.net>
689       
690        * lib/nextelem.c: removed declaration of strdup and free, which
691        meets GNU coding standards and allow compilation on sparc
692       
693        * corrected explanation of -amin option which described hours
694        instead of minutes
695       
6961998-02-27  Kevin Dalley  <kevind@rahul.net>
697       
698        * locate/locate.c: add --existing option to locate, which only
699        prints the names of files which still exist
700       
7011998-02-08  Kevin Dalley  <kevind@rahul.net>
702       
703        * locate/locate.c: corrected get_short so that it correctly
704        returns negative numbers.
705       
706        * remove declarations of various string functions.  Removing the
707        declarations almost matches the GNU Coding Standards.
708       
7091997-03-03  Kevin Dalley  <kevind@rahul.net>
710       
711        * xargs/xargs.c: xargs fixed to prevent occasional core dumping.
712       
7131997-01-11  Kevin Dalley  <kevind@rahul.net>
714       
715        * locate/updatedb.sh: add --localuser option to updatedb, which
716        allows find to be run as nobody, while allowing database file to
717        be created as root, change suggested by
718        <Bernd_Eckenfels@Wittumstrasse13.76646Bruchsal.de>
719       
7201996-12-28  Kevin Dalley  <kevind@rahul.net>
721        * added PRUNEFS as variable in updatedb and --prunefs as option to
722        updatedb
723
7241996-05-27  Kevin Dalley  <kevind@rahul.net>
725       
726        * updatedb.sh: when NETPATHS is used, only su to NETUSER if whoami
727        is root
7281996-04-27  Kevin Dalley  <kevind@rahul.net>
729
730        * lib/getline.c (getstr): verify that nchars_avail is *really*
731        greater than 0; set *n to a large enough number, stops some core
732        dumping
733
734Thu Nov  3 09:23:33 1994  David J. MacKenzie  <djm@duality.gnu.ai.mit.edu>
735
736        * Version 4.1.
737
738        * locate/Makefile.am: Move updatedb from LIBSCRIPTS to SCRIPTS.
739
740        * Makefile.am (distname): Change distribution name from find to
741          findutils.
742
743        * testsuite/config/unix.exp: Don't abuse xfail; simulate it correctly.
744
745        * locate/Makefile.am (CLEANFILES): Fix typo.
746
747Wed Nov  2 15:11:52 1994  David J. MacKenzie  <djm@duality.gnu.ai.mit.edu>
748
749        * The big 4 0.
750
751        * lib/listfile.c find/defs.h (list_file): Take a stream arg.
752        * find/pred.c (pred_ls): pass it.
753        * find/parser.c pred.c defs.h (parse_fls, pred_fls): New functions.
754
755Tue Oct 25 16:09:04 1994  David J. MacKenzie  <djm@duality.gnu.ai.mit.edu>
756
757        * find/pred.c (pred_fprintf): Flush output after \c.  From Chapman
758        Flack.
759
760        * find/parser.c (insert_fprintf): Warn about unrecognized \ and %
761        sequences.
762
763Tue Oct 18 00:03:10 1994  David J. MacKenzie  <djm@duality.gnu.ai.mit.edu>
764
765        * find/defs.h parser.c pred.c tree.c util.c: Globally change
766        "victim" to "primary".
767
768        * find/parser.c (insert_fprintf): For 'c' format, don't lose the
769        need_stat information.  From Chapman Flack.
770
771        * doc/find.texi perm.texi: New files.
772        * configure.in: Configure the doc directory.
773
774        * find/pred.c (pred_regex): Check that the regex matched the whole
775        file name.
776
777Wed Oct 12 17:13:47 1994  David J. MacKenzie  (djm@duality.gnu.ai.mit.edu)
778
779        * find/find.c (main): Tell what the invalid arg is.
780        From Kaveh Ghazi.
781
782Fri Oct  7 12:33:24 1994  David MacKenzie  <djm@geech.gnu.ai.mit.edu>
783
784        * find/parser.c: Add -mount as an alias for -xdev.
785        From Klaus.Steinberger@physik.uni-muenchen.de (Klaus Steinberger).
786
787        * lib/modechange.c: Make umask_value unsigned short.
788
789        * xargs/xargs.c: Use symbolic constants in longopts.
790        From Chapman Flack.
791
792Wed Oct  5 11:23:09 1994  David MacKenzie  <djm@geech.gnu.ai.mit.edu>
793
794        * xargs/xargs.c (main, read_line, read_string, do_exec): Pass
795          along the lengths of the args.
796          (main): Calculate length of replace_pat.
797          (push_arg, do_insert): Use those lengths instead of calculating
798          them.
799
800Tue Oct  4 10:02:05 1994  David MacKenzie  <djm@churchy.gnu.ai.mit.edu>
801
802        * locate/updatedb.sh Makefile.in: Add substitutions to get
803          the transformed program names.
804
805        * xargs/xargs.c: Put back the global variables for now.
806        Rename some variables.  Increase default args_per_exec.
807        Use boolean where applicable.
808        (main): Reduce default arg_max by 2048 for POSIX.2.
809        (read_string): Don't check EOF string.
810        (read_line, read_string): Take initial args size into account.
811
812Sat Oct  1 17:43:13 1994  David MacKenzie  <djm@geech.gnu.ai.mit.edu>
813
814        * find/pred.c (launch): Use pid_t.
815
816        * xargs/xargs.c (EOF_STR): Define and use.
817        [__STDC__]: Declare xrealloc and xmalloc using void *.
818        * find/defs.h: Likewise.
819
820        * find/defs.h: Only declare stpcpy if !HAVE_STPCPY.
821
822        * xargs/xargs.c: Replace most global variables with structure
823          pointers passed as arguments.  Use pid_t.
824        * lib/wait.h: Include sys/wait.h if HAVE_SYS_WAIT_H.
825        * configure.in: Call AC_TYPE_MODE_T and AC_HEADER_SYS_WAIT.
826
827        * xargs/xargs.c: Improve paging performance and memory
828          fragmentation by building command arguments in a pre-allocated
829          buffer and re-implementing the child pid list as an expandable
830          array.  From tsi@gpu.srv.ualberta.ca (Marc Aurele La France).
831
832Thu Sep 29 11:38:07 1994  David J. MacKenzie  (djm@geech.gnu.ai.mit.edu)
833
834        * xargs/xargs.c [__STDC__]: Prototype declarations.
835
836Wed Sep 28 11:25:53 1994  David J. MacKenzie  (djm@duality.gnu.ai.mit.edu)
837
838        * find/fstype.c [AFS, __STDC__]: Fix definition of _VICEIOCTL.
839
840Tue Sep 27 08:14:27 1994  David MacKenzie  <djm@churchy.gnu.ai.mit.edu>
841
842        * find/fstype.c (fstype_to_string): Add more cases.  Use
843          INITMOUNTNAMES if defined.
844        * find/defs.h: Change boolean typedef from char to int.
845        * configure.in: Check for mktime.
846
847Tue Sep 27 01:20:28 1994  Kaveh R. Ghazi  (ghazi@noc.rutgers.edu)
848
849        * configure.in: Add AC_HEADER_STAT.
850        * lib/listfile.c, lib/modetype.h: Add STAT_MACROS_BROKEN.
851
852        * find/pred.c: Move the inclusion of defs.h ahead of the first
853          test of _POSIX_VERSION.
854
855        * lib/xgetcwd.c: Remove _POSIX_VERSION, rely only on HAVE_GETCWD.
856
857Mon Sep 26 16:43:01 1994  David MacKenzie  <djm@geech.gnu.ai.mit.edu>
858
859        * configure.in: Add AC_CONFIG_HEADER.
860        * find/*.c locate/*.c xargs/*.c: Include config.h.
861        * locate/updatedb.sh: Add --version; --old -> --old-format.
862
863Sun Sep 25 23:43:37 1994  David MacKenzie  <djm@geech.gnu.ai.mit.edu>
864
865        * find/* [__STDC__]: Prototype declarations.
866
867        * locate/updatedb.sh: Account for renaming code and frcode.
868
869        * find/find.c (process_path): Store dev and ino of directories in
870          current branch to avoid symlink loops.  From DJ Delorie
871          <dj@ctron.com>.
872          (process_dir): If following symlinks, don't cd to ..; instead,
873          cd to the starting directory and then to the parent directory.
874          (main) [HAVE_FCHDIR]: Save the dev, ino of the starting directory.
875          (process_top_path) [HAVE_FCHDIR]: Use it.
876        * find/pred.c (launch) [HAVE_FCHDIR]: Likewise.
877        * defs.h [HAVE_FCHDIR]: Declare starting_desc instead of starting_dir.
878        * configure.in: Check for dev_t, ino_t, fchdir, fcntl.h.
879
880Fri Sep 23 11:55:38 1994  David MacKenzie  <djm@geech.gnu.ai.mit.edu>
881
882        * lib/listfile.c: Change #ifdef S_IFLNK to #ifdef S_ISLNK.
883        From Andreas Luik <luik@isa.de>.
884
885Thu Sep 22 11:42:40 1994  David MacKenzie  <djm@geech.gnu.ai.mit.edu>
886
887        * locate/locate.c (last_literal_end): Dynamically allocate enough
888          memory for the subpattern.
889
890Wed Sep 21 06:12:56 1994  David MacKenzie  <djm@geech.gnu.ai.mit.edu>
891
892        * locate/locate.c (locate): Warn if database is >8 days old.
893        From Ian Lance Taylor.
894
895        * xargs/xargs.c (do_exec), find/pred.c (launch): Set SIGCHLD to
896          default.  From tsi@gpu.srv.ualberta.ca (Marc Aurele La France).
897        * find/find.c pred.c util.c lib/listfile.c: Remove fflush(stdout)
898          calls before error.  error does it, and doesn't trash errno.
899          From tsi@gpu.srv.ualberta.ca (Marc Aurele La France).
900
901        * find/fstype.c (filesystem_type_uncached): Don't trust mtab dev
902          number on HPUX.  From Andreas Luik <luik@isa.de>.
903          (filesystem_type_uncached): Don't cache unknown file system
904          types.  From casper@fwi.uva.nl (Casper Dik).
905
906        * locate/updatedb.sh: Collect results in temp file and rename it
907          atomically.  From Andreas Luik <luik@isa.de>.
908
909        * xargs/xargs.c (parse_num): Print a long using %ld.  From Jim
910          Meyering.
911
912        * find/defs.h find.c parser.c pred.c util.c, lib/nextelem.c:
913          Emulate strchr and strrchr with index and rindex, not vice versa.
914
915        Remove man directory; move man pages to the directories of the
916        programs they document.
917
918        * locate/frcode.c: Renamed from code.c.
919        * locate/frcode.c (put_short): Renamed from puthalfword.
920        * locate/locate.c (get_short): Renamed from gethalfword.
921        (last_literal_end): Renamed from patprep.
922        (locate): Recognize old-format databases too.
923        * locate/locatedb.h: Add defines for old-format databases.
924        * locate/bigram.c locate/code.c: Put back programs to create
925        old-format databases.
926        * locate/updatedb.sh: Take --old option to use them.
927
928Tue Sep 20 15:41:11 1994  David MacKenzie  <djm@geech.gnu.ai.mit.edu>
929
930        * configure.in: Update for Autoconf v2.
931        * find/pred.c lib/savedir.c: Use new symbols for dir header.
932        * locate/updatedb.sh: Add --help option.
933
934Sun Feb 13 11:21:58 1994  Jim Meyering  (meyering@comco.com)
935
936        * man/Makefile.in [man1ext, man5ext]: Set man5ext (not man1ext) to 5.
937
938Sun Aug  1 22:30:55 1993  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu)
939
940        * bigram.c: File removed.
941        * getline.c, memcmp.c, locatedb.h, updatedb.1, locatedb.5: New files.
942        * updatedb.sh: Take command line options.
943        Don't do bigram compression.
944        * code.c, locate.c: Don't do bigram compression.
945        Write and read counts in network byte order.
946        Handle arbitrarily long paths.
947        Use a magic number at the start of the databases.
948
949Thu Jul 29 20:44:53 1993  David J. MacKenzie  (djm@wookumz.gnu.ai.mit.edu)
950
951        * Makefile.in (config.status): Run config.status --recheck, not
952        configure, to get the right args passed.
953
954Thu Jul 22 12:53:12 1993  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu)
955
956        * listfile.c (list_file): Print inode as a long.
957
958Wed Jul 14 14:14:45 1993  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu)
959
960        * fstype.c [STDC_HEADERS]: Include stdlib.h.
961
962        * Move unistd.h include from parser.c and pred.c to defs.h.
963
964Wed Jun 30 14:14:47 1993  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu)
965
966        * updatedb.sh: Construct PRUNEREGEX from PRUNEPATHS with sed.
967        Prune /afs.  Change NFSUSER to NETUSER and NFSPATHS to NETPATHS.
968
969Tue Jun 29 12:19:58 1993  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu)
970
971        * pred.c (pred_fprintf): Abort in switch if `c' is not A, C, or T.
972
973Mon Jun 28 00:18:52 1993  David J. MacKenzie  (djm@wookumz.gnu.ai.mit.edu)
974
975        * fstype.c (in_afs) [AFS]: New function, derived from code by
976        Sanjay Ramamurthy <ramams@rpi.edu>.
977        (filesystem_type_uncached) [AFS]: Call it if the fs type is
978        otherwise unknown.
979
980        * parser.c (parse_size): Recognize b and w suffixes for dd
981        compatibility.
982
983        * code.c (puthalfword): New function.
984        (main): Call it.
985        * locate.c (gethalfword): New function.
986        (locate): Call it.
987        From ifado!wb@germany.eu.net (Wilhelm B. Kloke).
988
989        * listfile.c: Include pathmax.h.
990        (get_link_name): Always allocate PATH_MAX + 1 bytes for
991        readlink buffers.
992        * pred.c (pred_fprintf, insert_lname): Call get_link_name.
993
994        * fstype.c (filesystem_type, filesystem_type_uncached),
995        listfile.c (list_file): Take an arg for the path to access.
996        * pred.c (pred_ls, pred_fstype, pred_fprintf): Pass it.
997
998        * find.c (process_dir): Renamed from scan_directory.
999
1000        Changes from jrs@world.std.com (Rick Sladkey) to chdir into
1001        subdirectories instead of using string concatenation, for speed:
1002        * find.c (process_top_path): New function.
1003        (main): Call it, and xgetcwd.
1004        (process_path, scan_directory): Take new arg, the pathname
1005        relative to ".".  Use it and pass it on.
1006        * pred.c (pred_and, pred_comma, pred_negate, pred_or,
1007        pred_xtype, pred_fprintf, pred_empty, insert_lname):
1008        access rel_pathname instead of pathname.
1009        (launch): chdir to starting_dir.
1010        * defs.h: Declare rel_pathname and starting_dir.
1011        * find.c: Define them.
1012
1013        * xgetcwd.c: New file.
1014
1015        * updatedb.sh: Recognize -fstype NFS as well as nfs.
1016        * locate.c (patprep): Skip trailing character classes correctly.
1017        From luik@pharao.stgt.sub.org (Andreas Luik).
1018
1019        * parser.c (parse_group): Make gid a gid_t, not short or int.
1020        (parse_nogroup): Cast gid to unsigned when using it as an array index.
1021        (parse_user, parse_nouser): Similar changes for uid.
1022        * defs.h: Use uid_t and gid_t.
1023
1024        * parser.c (parse_help): New function.
1025        (parse_table):  Add --version, -help, and --help options.
1026        Rename struct parser_table_t to struct parser_table.
1027        (parse_version): Exit after printing message, on
1028        stdout not stderr.
1029
1030        * xargs.c, locate.c (main, usage): Add --version and --help
1031        options.
1032
1033Wed Mar 31 22:39:57 1993  Jim Meyering  (meyering@comco.com)
1034
1035        * parser.c: Define isascii macro to be 1 also if STDC_HEADERS.
1036        * xargs.c: Ditto.
1037
1038Wed Mar 31 16:04:07 1993  David J. MacKenzie  (djm@kropotkin.gnu.ai.mit.edu)
1039
1040        * pred.c (pred_fprintf): If curdepth is 0, don't nuke
1041        segment->text; nuke cp.
1042
1043Mon Mar 29 15:57:20 1993  David J. MacKenzie  (djm@kropotkin.gnu.ai.mit.edu)
1044
1045        * Version 3.8.
1046
1047Fri Mar 26 16:36:59 1993  David J. MacKenzie  (djm@hal.gnu.ai.mit.edu)
1048
1049        * pred.c (pred_ilname, pred_iname, pred_ipath): New functions.
1050        (pred_table): Add them.
1051        (insert_lname): New function.
1052        (pred_lname): Call it.
1053        * parser.c (parse_ilname, parse_iname, parse_ipath,
1054        parse_iregex): New functions.
1055        (parse_table): Add them.
1056        (insert_regex): New function.
1057        (parse_regex): Call it.
1058
1059        * fstype.c (filesystem_type): Cache previous result.
1060        (filesystem_type_uncached): New function.
1061        pred.c (pred_fstype, pred_fprintf): Adjust callers to not cache.
1062
1063        * parser.c: Don't define const.
1064
1065        * fstype.c [FSTYPE_STATFS] (fstype_to_string): #ifdef
1066        MOUNT_PC for 386bsd.
1067
1068Thu Mar 25 18:32:24 1993  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu)
1069
1070        * parser.c (parse_regex): If ignore_case, set up a translate
1071        table for the regex.
1072
1073        * defs.h: Include string.h or strings.h.
1074        * find.c fstype.c parser.c pred.c util.c: Don't.
1075
1076        * nextelem.c [index]: Don't redefine.
1077
1078Wed Mar 24 17:47:10 1993  David J. MacKenzie  (djm@kropotkin.gnu.ai.mit.edu)
1079
1080        * xargs.c (wait_for_proc): Exit with a nonrunnable command's exit
1081        status, not the wait status value.  From
1082        Andreas Schwab <schwab@lamothe.informatik.uni-dortmund.de>.
1083
1084        * parser.c (make_segment, insert_fprintf), pred.c
1085        (pred_fprintf): Add '%F' to print filesystem type.
1086
1087        * parser.c (parse_fprintf): Check if second arg is missing.
1088
1089Tue Mar 23 13:18:08 1993  David J. MacKenzie  (djm@kropotkin.gnu.ai.mit.edu)
1090
1091        * pred.c (pred_fprintf): For %P, don't move past an assumed
1092        slash if the ARGV element ends with one, because in that case
1093        we didn't add one.
1094
1095        * parser.c (parse_printf): Check for missing arg.
1096        From smj@cats.com (Steve James).
1097
1098        * parser.c: Add #ifdef around atol decl for Linux.
1099
1100Fri Dec 11 08:17:07 1992  Jim Meyering  (meyering@comco.com)
1101
1102        * defs.h: Remove dcl of process_path.
1103        * find.c: Put dcl of process_path here.  Make a few functions
1104        and file-scope variables static.
1105        * parser.c, tree.c: Declare most functions static.
1106
1107        * locate.c: Use `required_argument' macro in dcl of longopts.
1108        * bigram.c, code.c, locate.c, xargs.c: Make most functions and
1109        file-scope variables static.
1110
1111        * parser.c, xargs.c: Guard ctype.h macros with isascii.
1112
1113        * find.c: Add declarations for opt_expr and mark_stat.
1114        * tree.c (set_new_parent): Add empty default clause to enum swicth.
1115        * locate.c (main): Parenthesize for gcc -Wall.
1116        * xargs.c (push_arg): Parenthesize for gcc -Wall.
1117
1118Tue Nov 24 08:04:36 1992  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu)
1119
1120        * find.c, fstype.c, parser.c, pred.c, util.c, listfile.c,
1121        nextelem.c, xargs.c, bigram.c, code.c, locate.c: Use
1122        HAVE_STRING_H, not USG.
1123
1124        * pred.c: Use SYSDIR and NDIR instead of USG.
1125        Define direct as dirent, not vice-versa.
1126
1127Fri Oct  9 02:15:17 1992  David J. MacKenzie  (djm@kropotkin.gnu.ai.mit.edu)
1128
1129        * xargs.c (main): Set orig_arg_max before possibly cutting
1130        down arg_max.
1131
1132Thu Sep 10 19:25:35 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
1133
1134        * parser.c: Always declare getgrent and getpwent.
1135
1136Mon Aug 24 12:54:16 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
1137
1138        * xargs.c: Include sys/types.h before unistd.h.  Use ARG_MAX
1139        if it's defined.
1140        * find.c, nextelem.c: Add missing decls.
1141        From bde@runx.oz.au (Bruce Evans).
1142
1143Thu Jul 23 15:06:07 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
1144
1145        * Version 3.7.
1146
1147Tue Jul 14 00:16:52 1992  David J. MacKenzie  (djm@apple-gunkies.gnu.ai.mit.edu)
1148
1149        * pathmax.h: New file.
1150        * bigram.c, code.c, locate.c: Use it.  Use xmalloc instead of malloc.
1151
1152Sat Jul 11 22:31:46 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
1153
1154        * nextelem.c: New file.
1155        * locate.c (main): Use it to support a database path.
1156
1157Fri Jul  3 02:12:09 1992  David J. MacKenzie  (djm@wookumz.gnu.ai.mit.edu)
1158
1159        * listfile.c, pred.c: Change FOO_MISSING to HAVE_FOO.
1160
1161        * parser.c [_POSIX_SOURCE]: Define endpwent and endgrent as empty.
1162        * listfile.c [!HAVE_ST_RDEV]: Print blanks.
1163        From Jeffrey Siegal (jbs@congruent.com).
1164
1165        * locate.c (locate): Check for EOF at top of loop, not middle.
1166        * updatedb.sh: Remove duplication hack.
1167        From Jay Plett.
1168
1169Wed Jun 10 15:04:23 1992  David J. MacKenzie  (djm@wookumz.gnu.ai.mit.edu)
1170
1171        * pred.c (pred_amin, pred_atime, pred_cmin, pred_ctime,
1172        pred_mmin, pred_mtime, pred_used): Cast l_val to time_t before
1173        comparing it to a time_t.  From fpm@crash.cts.com (Frank Maclachlan).
1174
1175        * locate.c (locate): Take the database path as an arg.
1176        (main): Take an option to specify the database path.
1177        (usage): New function.
1178
1179        * updatedb.sh: Don't read from and write to the file-list file
1180        in the same statement.
1181
1182Thu Jun  4 15:27:07 1992  David J. MacKenzie  (djm@geech.gnu.ai.mit.edu)
1183
1184        * Version 3.6.
1185
1186Wed May 20 00:05:13 1992  David J. MacKenzie  (djm@churchy.gnu.ai.mit.edu)
1187
1188        * xargs.c: Include sys/param.h before limits.h, not after.
1189
1190        * listfile.c: If we include a header file specifically to get
1191        major et al., assume we have them.
1192
1193Tue May 12 01:09:33 1992  David J. MacKenzie  (djm@churchy.gnu.ai.mit.edu)
1194
1195        * locate.c (locate): Don't give fnmatch FNM_PERIOD (it's useless).
1196
1197        * parser.c (parse_path): New function.
1198        * pred.c (pred_path): New function.
1199        * tree.c (opt_expr): Move -path like -name.
1200
1201        * updatedb.sh: Duplicate the last entry in the file list so it
1202        doesn't get ignored.
1203
1204Mon May 11 22:24:40 1992  David J. MacKenzie  (djm@churchy.gnu.ai.mit.edu)
1205
1206        * updatedb.sh: Allow many vars to be overridden in the environment.
1207
1208        * locate.c, updatedb.sh: FCODES -> LOCATE_DB.
1209
1210Wed Apr 22 15:24:00 1992  David J. MacKenzie  (djm@churchy.gnu.ai.mit.edu)
1211
1212        * updatedb.sh: Use binprefix when calling find.
1213
1214        * locate.c (locate): Use LOCATE_DB environ variable if set.
1215
1216        * find.c (scan_directory): Allow for dirs having negative
1217        st_size (NFS mount points on VAX 4.3BSD+NFS).
1218        From metcalf@catfish.lcs.mit.edu (Chris Metcalf).
1219
1220Sat Apr 18 15:42:52 1992  David J. MacKenzie  (djm@wookumz.gnu.ai.mit.edu)
1221
1222        * fstype.c: Rename FS_* to FSTYPE_*.  Support Dynix's
1223        name for the mount table.
1224
1225Sun Mar  8 23:21:25 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
1226
1227        * listfile.c (list_file): Allow a slop factor for deciding what
1228        is in the future.
1229
1230Tue Feb 25 16:24:15 1992  David J. MacKenzie  (djm@wookumz.gnu.ai.mit.edu)
1231
1232        * Version 3.5.
1233
1234Sat Feb 22 08:43:01 1992  David J. MacKenzie  (djm@wookumz.gnu.ai.mit.edu)
1235
1236        * tree.c (set_new_parent): Initialize need_stat field.
1237
1238        * defs.h (struct predicate): Define p_name unconditionally.
1239
1240Fri Feb 21 15:28:43 1992  David J. MacKenzie  (djm@wookumz.gnu.ai.mit.edu)
1241
1242        * tree.c (opt_expr): Preserve expression precedence when
1243        rearranging expression tree.
1244        (set_new_parent): New function.
1245        (mark_stat): Set need_stat whether or not it's been set
1246        earlier in the expression.
1247        All from Tim Wood.
1248
1249Mon Feb 17 10:20:38 1992  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
1250
1251        * updatedb.sh: Use current value of TMPDIR if already set.
1252        From Dana Jacobsen (jacobsd@cs.orst.edu).
1253
1254        * pred.c: Include pwd.h and grp.h after unistd.h, not before.
1255        Apparently needed on ISC 2.2.  From Juha Takala <jta@piuha.sah.vtt.fi>.
1256
1257Thu Feb 13 10:52:31 1992  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
1258
1259        * modetype.h: Don't define S_IFMT, because doing so breaks pred_type
1260        on plain POSIX.1 systems.
1261
1262Sat Feb  8 00:58:13 1992  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
1263
1264        * Version 3.4.
1265
1266Fri Feb  7 21:35:58 1992  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
1267
1268        * defs.h: Don't declare process_path.
1269        * find.c [DEBUG_STAT] (debug_stat): New function.
1270        (main) [DEBUG_STAT]: Call it.
1271        (process_path): Return a value.
1272        (scan_directory): Count number of subdirs seen so far.
1273        * parser.c (pred_and, pred_close, pred_comma, pred_negate,
1274        pred_open, pred_or): Don't need stat.
1275        * util.c (get_new_pred_chk_op): Implicit AND doesn't need stat.
1276
1277Fri Jan 17 21:51:18 1992  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
1278
1279        * Version 3.3.
1280
1281Tue Dec 24 02:16:49 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
1282
1283        * wait.h, listfile.c, xargs.c, bigram.c, code.c, locate.c:
1284        Change POSIX ifdefs to HAVE_UNISTD_H and _POSIX_VERSION.
1285
1286Wed Dec 18 16:37:17 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
1287
1288        * listfile.c: Use MAJOR_IN_MKDEV and MAJOR_IN_SYSMACROS to
1289        find major and minor.
1290
1291        * code.c, bigram.c, locate.c, xargs.c: Use LIMITS_H_MISSING
1292        instead of LIMITS_MISSING.
1293
1294Sat Dec  7 06:13:26 1991  David J. MacKenzie  (djm at frob.eng.umd.edu)
1295
1296        * parser.c (parse_prune): No stat needed for prune.
1297        (insert_fprintf, make_segment): Possibly no stat needed,
1298        depending on which information is printed.
1299
1300        * xargs.c (usage): Document long-named options as starting
1301        with -- instead of +.
1302
1303        * parser.c [!POSIX]: Declare getgrent and getpwent.
1304
1305        * fstype.c (filesystem_type): Only check MNTTYPE_IGNORE if
1306        it's defined.  From Rainer Orth.
1307
1308        * Add leaf node optimization suggested by Matthew Farwell
1309        <dylan@ibmpcug.co.uk>.  Add -noleaf option to disable it.
1310        Adapt parts of Tim Wood's work to current sources.
1311        * find.c (scan_directory): New function, from code in process_path.
1312        (process_path): Take an arg indicating whether the pathname
1313        is a leaf non-directory, instead of a redundant current level.
1314        * parser.c (parse_noleaf): New function.
1315        (parse_print, parse_name, etc.): Set need_stat = false.
1316
1317Wed Nov  2 13:34:32 1990  Tim Wood at home      (tim at axolotl.UUCP)
1318
1319        * pred.c: Call stat() if an AND, OR or NOT node tells you to.
1320        * find.c: Limit calls to stat().
1321
1322Wed Oct  3 17:30:39 1990  Tim Wood at home      (tim at axolotl.UUCP)
1323
1324        * tree.c (opt_expr): New function to rearrange predicates within
1325        a conjunction/disjunction so that non-inode (-name, -regex) ones
1326        are executed first. 
1327        * pred.c: Make some supporting tree structure changes for opt_expr().
1328
1329Sat Dec  7 00:36:06 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
1330
1331        * xargs.c (do_exec): Simplify test for which exit
1332        status to use if exec fails.
1333
1334Fri Dec  6 18:24:06 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
1335
1336        * listfile.c (list_file): POSIX_ME_HARDER -> POSIXLY_CORRECT.
1337
1338Thu 24 Oct 1991 21:33:21  Jim Meyering (meyering at churchy.gnu.ai.mit.edu)
1339
1340        * pred.c (pred_fprintf): Don't print "\n" unless it's in the
1341        format string.
1342
1343Mon Oct 21 22:30:35 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
1344
1345        * defs.h, parser.c, pred.c: Rename some types that conflict
1346        with reserved POSIX.1 namespace (ended in _t).
1347
1348       
1349       
1350Thu Oct 17 22:39:06 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
1351
1352        * xargs.c: Don't determine memory.h based on POSIX, which
1353        doesn't mention it.
1354
1355Sat Oct  5 16:11:05 1991  Jim Meyering (meyering at churchy.gnu.ai.mit.edu)
1356
1357        * parser.c (parse_perm): Parse new `-perm +mode' notation.
1358        * pred.c (pred_perm): Interpret same.
1359
1360Fri Sep 13 14:58:27 1991  David J. MacKenzie  (djm at churchy.gnu.ai.mit.edu)
1361
1362        * xargs.c [POSIX]: Always use sysconf to get ARG_MAX.
1363
1364Thu Sep  5 23:57:06 1991  David J. MacKenzie  (djm at apple-gunkies)
1365
1366        * bigram.c, code.c (main): Make path_max int, not unsigned.
1367        * locate.c (main): Check for pathconf failure.
1368
1369Thu Sep  5 11:54:44 1991 Jim Meyering (meyering at churchy.gnu.ai.mit.edu)
1370
1371        * parser.c (insert_fprintf): Add `\\' escape and fixed `%%'
1372        interpretation.
1373        * pred.c (pred_fprintf): fixed off-by-one indexing problem
1374        when handling [gGuU] printf formats.
1375
1376Wed Aug 28 20:53:57 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
1377
1378        * Version 3.2.
1379
1380Mon Aug 26 18:57:32 1991  David J. MacKenzie  (djm at pogo.gnu.ai.mit.edu)
1381
1382        * bigram.c, code.c: Fix handling of PATH_MAX.
1383        Check for anomalous input line lengths.
1384        From Bruce Evans.
1385
1386Fri Aug 23 11:00:18 1991  David J. MacKenzie  (djm at apple-gunkies)
1387
1388        * pred.c (pred_fprintf): Round block number up to get K.
1389
1390Thu Aug 22 10:46:30 1991  David J. MacKenzie  (djm at apple-gunkies)
1391
1392        * pred.c (pred_fprintf, pred_lname) [_AIX]: Allocate PATH_MAX
1393        byte for link object since st_size is wrong.
1394
1395        * listfile.c (list_file): Don't convert blocks to kilobytes if
1396        env. var POSIX_ME_HARDER is defined.
1397
1398        * fstype.c [FS_AIX_STATFS]: New case.
1399
1400        * configure: Make sure the sys/mount.h is the 4.4BSD version
1401        with grep instead of just testing whether it exists.
1402
1403        * listfile.c (list_file): Add 1 to number of 512-byte blocks
1404        before dividing to get 1K blocks (so we round up, not down).
1405
1406Wed Aug 21 13:02:46 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
1407
1408        * Version 3.1.
1409
1410        * parser.c (parse_fprintf), pred.c (pred_fprintf): Add %k
1411        conversion to print 1K blocks.
1412
1413        * listfile.c: Print counts of 1K blocks, for consistency with
1414        new fileutils release.  Bad timing, there.
1415
1416        * Version 3.0.
1417
1418        * pred.c [VOID_CLOSEDIR]: Fake a return value for closedir,
1419        which returns void on some systems, like Sequents.
1420        * configure: Check sys/dir.h for 'void closedir'.
1421
1422Thu Aug 15 16:07:46 1991  David J. MacKenzie  (djm at frob)
1423
1424        * modetype.h: Define POSIX.1 stat stuff if missing.
1425        * pred.c, parser.c, find.c, fstype.c: Don't define it.
1426        * updatedb.sh: Use a variable substitution method like configure's.
1427        * Makefile.in: Add datadir variable to separate programs from
1428        data file.
1429
1430        * parser.c, pred.c: Rename -fulldays to -daystart.
1431
1432        * defs.h, find.c, parser.c, pred.c: Add many new predicates
1433        from Jay Plett (jay@princeton.edu).
1434
1435Wed Aug 14 14:37:06 1991  David J. MacKenzie  (djm at bleen)
1436
1437        * parser.c (parse_size), pred.c (pred_size), defs.h (struct
1438        size_t): Allow `k' to follow number to measure size in Kbytes.
1439        * parser.c (parse_size, get_num, insert_num), defs.h (struct
1440        size_t): Use enum comparison_type instead of short.
1441
1442Fri Aug  9 00:49:32 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
1443
1444        * xargs.c (read_line): Use isblank, to support POSIX locales.
1445
1446        * fstype [FS_STATVFS]: New code for SVR4, from slootman@dri.nl
1447        (Paul Slootman).
1448        * configure: Figure out when to use it.
1449
1450        * configure: Check for st_blocks in struct stat.
1451        * listfile.c (ST_NBLOCKS): New macro.
1452        (list_file): Print file's block count.
1453        Use S_ISLNK instead of S_IFLNK.
1454        * fileblocks.c: New file, from fileutils.
1455
1456Thu Aug  8 17:20:19 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
1457
1458        * parser.c, pred.c [CACHE_IDS]: Optional code to turn uid and
1459        gid lookups into table lookups.
1460
1461Wed Aug  7 00:22:29 1991  David J. MacKenzie  (djm at wheat-chex)
1462
1463        * configure, Makefile.in's: Support +srcdir option via VPATH.
1464        Clean up clean targets.
1465
1466Sat Jul 20 01:11:51 1991  David J. MacKenzie  (djm at apple-gunkies)
1467
1468        * configure: Filter /etc and /usr/etc from path.
1469
1470        * xargs.c (wait_for_proc): Fix handling of child exit status.
1471        (main): Exit with a nonzero status if any child did.
1472
1473        * pred.c (launch): Flush stdout and stderr before forking.
1474
1475        * fstype.c (filesystem_type) [FS_MNTENT]: Skip entries of
1476        type "ignore".
1477
1478Fri Jul 19 22:53:42 1991  David J. MacKenzie  (djm at bleen)
1479
1480        * pred.c, locate.c: Use fnmatch instead of glob_match.
1481        * fnmatch.c, fnmatch.h: New files.
1482
1483        * Many files: Use string.h if STDC_HEADERS, as well as if USG.
1484
1485        * locate.c, code.c, bigram.c: Possibly use pathconf to get
1486        PATH_MAX.  Use malloc to allocate path arrays.
1487
1488        * xargs.c: Possibly use sysconf to get ARG_MAX.
1489        (env_size): Make definition unconditional.
1490        (main): Do arg_max adjustment that can't be done with
1491        preprocessor now that ARG_MAX might be a function call.
1492        (do_exec): Exit with status 126 or 127 after failed exec, for
1493        POSIX.2 draft 11.1.
1494
1495        * xargs.c, pred.c, listfile.c: Use POSIX, not UNISTD_MISSING.
1496        * wait.h: Use POSIX, not WAIT_MACROS_MISSING.
1497
1498        * COPYING: Use version 2.  Update all files.
1499
1500        * Replace Makefile and lib/Makefile with Makefile.in,
1501        lib/Makefile.in and configure.  Update README.
1502
1503Fri Apr  5 12:49:09 1991  David J. MacKenzie  (djm at apple-gunkies)
1504
1505        * Version 2.2.
1506
1507Fri Mar 15 20:44:45 1991  David J. MacKenzie  (djm at geech.ai.mit.edu)
1508
1509        * xargs.c (main): Always run the command if some args are left over.
1510        Rename some variables.
1511
1512Fri Jan 18 03:35:57 1991  David J. MacKenzie  (djm at geech.ai.mit.edu)
1513
1514        * bigram.c, code.c, locate.c: Use LIMITS_MISSING, not
1515        _POSIX_SOURCE, to decide whether to include limits.h.
1516
1517        * parser.c, pred.c, listfile.c: Use POSIX, not _POSIX_SOURCE,
1518        to decide whether to declare getpwuid and getgrgid.
1519
1520        * xargs.c: Use POSIX, not _POSIX_SOURCE, to determine whether
1521        to include memory.h.
1522
1523Sat Jan 12 04:12:34 1991  David J. MacKenzie  (djm at wookumz.ai.mit.edu)
1524
1525        * defs.h, find.c, parser.c, pred.c: Remove -permmask option.
1526
1527Thu Jan 10 04:32:52 1991  David J. MacKenzie  (djm at albert.ai.mit.edu)
1528
1529        * wait.h: Include sys/types.h to get pid_t.
1530
1531        * xargs.c [USG && !STDC_HEADERS]: Only include memory.h if not
1532        _POSIX_SOURCE.
1533
1534Tue Jan  1 23:53:32 1991  David J. MacKenzie  (djm at albert.ai.mit.edu)
1535
1536        * Version 2.1.
1537
1538Wed Dec 26 03:25:51 1990  David J. MacKenzie  (djm at apple-gunkies)
1539
1540        * locate.c, bigram.c, code.c: Attempt to get max. path length
1541        on more kinds of systems, incl. POSIX.
1542
1543        * pred.c, listfile.c, xargs.c: Get some decls from unistd.h,
1544        if available.
1545
1546        * find.c, defs.h: Make `cur_day_start' a time_t, not long.
1547
1548Fri Dec 21 01:49:12 1990  David J. MacKenzie  (djm at egypt)
1549
1550        * defs.h, parser.c: Remove unused field from `struct exec_t'.
1551
1552        * xargs.c: Add +no-run-if-empty option to cause the command to
1553        not be run if the input is empty.
1554
1555        * defs.h (struct exec_t): Change the array of offsets into an
1556        array of `struct path_arg'.
1557        * parser.c (insert_exec_ok): Fill in new fields, to allow "{}"
1558        to be substituted (multiple times) anywhere in an arg to -exec
1559        or -ok.
1560        * pred.c (pred_exec): Add code to substitute "{}" within args.
1561        (pred_ok): After prompting, just run pred_exec.
1562
1563Thu Dec 20 02:32:09 1990  David J. MacKenzie  (djm at egypt)
1564
1565        * fstype.c (filesystem_type) [FS_MNTENT]: Allow for optional
1566        "0x" at front of "dev=" mount option, which amd puts there but
1567        Sun automounter doesn't.
1568
1569Sat Dec 15 19:01:12 1990  David J. MacKenzie  (djm at egypt)
1570
1571        * find.c (main), util.c (usage): Make directory args optional,
1572        defaulting to ".".
1573
1574Sat Dec 15 18:36:29 1990  David J. MacKenzie  (djm at apple-gunkies)
1575
1576        * listfile.c: Define major and minor if not defined (as in POSIX).
1577
1578Mon Dec  3 01:04:35 1990  David J. MacKenzie  (djm at alborz)
1579
1580        * find.c, fstype.c, parser.c, pred.c, util.c: Flush stdout before
1581        writing to stderr, in case they have been redirected to the
1582        same file descriptor.
1583
1584        * pred.c (launch): Use POSIX wait macros from wait.h.
1585
1586        * xargs.c (print_xargs): Read from tty_stream, not stdin.
1587
1588Tue Nov 20 16:48:24 1990  David J. MacKenzie  (djm at apple-gunkies)
1589
1590        * Version 2.0.
1591
1592        * fstype.c [FS_USG_STATFS]: New code.
1593        [FS_STATFS]: For symlinks, statfs the directory the link is in
1594        instead of the link.
1595        * Various files: Conditionalize some declarations on
1596        STDC_HEADERS or _POSIX_SOURCE.
1597
1598Fri Nov 16 12:24:43 1990  David J. MacKenzie  (djm at egypt)
1599
1600        * modetype.h: New file.
1601        parser.c, pred.c: Use it.
1602
1603Thu Nov 15 18:05:54 1990  David J. MacKenzie  (djm at apple-gunkies)
1604
1605        * xmalloc.c: New file from fileutils.
1606
1607        * fstype.c (fstype_to_string): Add case for MFS.
1608        (filesystem_type): Take a pathname as a second arg.
1609        [FS_STATFS] return "unknown" instead of exiting if statfs
1610        fails because of ENOENT.
1611        * pred.c (pred_fstype): Pass the pathname.  Set current_dev.
1612        * find.c (process_path): Make root_dev local again.
1613
1614Mon Nov 12 02:54:00 1990  David J. MacKenzie  (djm at apple-gunkies)
1615
1616        * pred.c (pred_fstype): Free old fs type.
1617
1618        * fstype.c, pred.c (pred_fstype), parser.c (parse_fstype):
1619        Reread the file system type info. every time a filesystem
1620        mount point is crossed, to allow for automounting.
1621
1622        * xstrdup.c: New file from fileutils.
1623
1624        * find.c (process_path): Rename root_dev to current_dev and
1625        make it global, for -fstype.
1626
1627        * wait.h: New file taken from xargs.c.
1628
1629        * xargs.c: Make limits.h vs. sys/param.h conditional on
1630        LIMITS_MISSING instead of USG, to accomodate SVR2.
1631
1632Thu Nov  8 11:52:22 1990  David J. MacKenzie  (djm at apple-gunkies)
1633
1634        * parser.c, pred.c, listfile.c: If not _POSIX_SOURCE, declare
1635        getpwuid and getgrgid.  Use them.
1636
1637        * listfile.c: If not _POSIX_SOURCE, define S_ISDIR and
1638        S_ISBLK.  Use them.
1639
1640        * find.c: Use S_ISDIR instead of S_IFDIR, and define if not
1641        _POSIX_SOURCE.
1642
1643        * Makefile: Define AR and RANLIB and pass to child makes.
1644        lib/Makefile: Use them.
1645
1646        * xargs.c (WIFSIGNALED): Redefine so it works.
1647
1648Mon Nov  5 00:02:01 1990  David J. MacKenzie  (djm at apple-gunkies)
1649
1650        * find.c (process_path): For -xdev, process filesystem
1651        mountpoints (but don't descend them), instead of skipping them
1652        entirely.
1653
1654        * find.c, parser.c, defs.h: Add -follow predicate.
1655
1656        * xargs.c: Change ifdefs to support STDC POSIX systems.
1657
1658Sat Nov  3 20:18:05 1990  David J. MacKenzie  (djm at apple-gunkies)
1659
1660        * xargs.c (do_exec): Child process exits with status 255, not
1661        127, if command can't be run.
1662
1663Fri Nov  2 02:11:42 1990  David J. MacKenzie  (djm at apple-gunkies)
1664
1665        * xargs.c: Exit with status 127 if running commmand fails, as
1666        required by POSIX.
1667
1668        * fstype.c: Support -fstype for Ultrix (-DFS_GETMNT).
1669        Sun/BSD code is now -DFS_MNTENT.
1670
1671Thu Nov  1 13:06:01 1990  David J. MacKenzie  (djm at egypt)
1672
1673        * Reorganize into subdirectories and add xargs.  Rewrite Makefiles.
1674
1675        * find.c (process_path, main): Allow a maxdepth of 0, meaning
1676        only process command line args.
1677
1678        * parser.c, pred.c: Add -print0 predicate.
1679
1680        * xargs.c: Add -0 option and long options.  Move standard
1681        library functions into separate files.  Use error instead of
1682        fatal and fprintf/perror.  Use POSIX macros for examining exit
1683        status from wait.
1684        (read_string): New function.
1685
1686Fri Sep 21 10:21:09 1990  David J. MacKenzie  (djm at apple-gunkies)
1687
1688        * find.c (process_path): Take DEPTH as an arg instead of ROOT,
1689        and change callers.
1690
1691Thu Sep 20 23:58:47 1990  David J. MacKenzie  (djm at apple-gunkies)
1692
1693        * parser.c (parse_maxdepth): New function.
1694        * find.c (process_path): If -maxdepth was given, don't go
1695        more than that many levels deep.
1696        * defs.h: Declare maxdepth.
1697
1698Wed Sep 12 02:12:31 1990  David J. MacKenzie  (djm at apple-gunkies)
1699
1700        * parser.c: Add -not as synonym for !.
1701
1702Sun Aug 26 06:16:08 1990  Jim Kingdon  (kingdon at pogo.ai.mit.edu)
1703
1704        * Makefile (TAGS): New target.
1705
1706Sun Aug 12 00:32:01 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
1707
1708        * xargs.c (main): Tell getopt to not permute.
1709
1710Sat Aug  4 21:43:45 1990  David J. MacKenzie  (djm at pogo.ai.mit.edu)
1711
1712        * parser.c (parse_perm), pred.c (pred_perm): Always compare
1713        bits 07777.
1714
1715        * locate.c, Makefile: Rename 'fastfind' program to 'locate',
1716        following comment in POSIX.2 draft 10 rationale for find.
1717
1718Wed Jul 25 18:45:03 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
1719
1720        * listfile.c (getuser, getgroup): Make uid and gid unsigned
1721        short, not int.
1722
1723Mon Jul 16 13:40:13 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
1724
1725        * defs.h: Don't declare fprintf and printf, in case they have
1726        prototypes in stdio.h (important for functions that use stdarg).
1727
1728Sun Jul 15 23:39:39 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
1729
1730        * parser.c (parse_and): New function, for compatibility.
1731
1732Wed Jul  4 00:17:57 1990  David J. MacKenzie  (djm at apple-gunkies)
1733
1734        * find.c (main): Only enclose expressions that produce no side
1735        effects within `( ... )'.
1736
1737Tue Jul  3 01:59:39 1990  David J. MacKenzie  (djm at apple-gunkies)
1738
1739        * parser.c (strspn): Stop when end of string reached.
1740
1741        * Version 1.2.
1742
1743        * Move version number from Makefile to new file version.c.
1744        * parser.c: Recognize new -version predicate.
1745
1746        * find.c (main): If no predicates that produce output are
1747        given, default to -print if the entire expression is true, not
1748        just the last part of an alternation.
1749        * Print the names of predicates with invalid arguments.
1750
1751Mon Jul  2 23:48:17 1990  David J. MacKenzie  (djm at apple-gunkies)
1752
1753        * pred.c: Don't check for invalid comparison types in numeric
1754        predicate functions.
1755
1756Thu Jun 28 00:34:57 1990  David J. MacKenzie  (djm at apple-gunkies)
1757
1758        * parser.c (parse_regex): Set fastmap and translate before
1759        compiling regex.
1760
1761Mon Jun 25 18:08:59 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
1762
1763        * fastfind.c (fastfind): Initialize count to 0.
1764
1765        * lib/updatedb.sh: Only do regex comparison on directories,
1766        for speed.
1767
1768        * listfile.c (list_file): Truncate user and group name to 8 chars.
1769
1770Sun Jun 24 13:51:27 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
1771
1772        * Version 1.1.
1773
1774        * Makefile [DISTFILES]: Add COPYING.
1775
1776Fri Jun 22 03:54:27 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
1777
1778        * Version 1.0.
1779
1780Tue Jun 19 03:55:28 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
1781
1782        * lib/updatedb.sh: Prune entries that match PRUNEREGEX.
1783        Split up finding files from computing bigrams.
1784        Use redirection instead of nonportable grep -s to detect sort
1785        failure.  Optionally search network filesystems as well as
1786        local ones.
1787
1788        * pred.c (pred_regex): Match against full pathname instead of
1789        just last element.
1790        * util.c (basename): Return "/", not "", if given "/".
1791
1792        * find.c (process_path): Fix error in handling "/" directory.
1793
1794Mon Jun 18 01:49:16 1990  David J. MacKenzie  (djm at apple-gunkies)
1795
1796        * parser.c [STRSPN_MISSING] (strspn): New function.
1797
1798Sun Jun 17 13:54:09 1990  David J. MacKenzie  (djm at apple-gunkies)
1799
1800        * listfile.c: New file.
1801        * parser.c (parse_ls): New function.
1802        * pred.c (pred_ls): New function.
1803
1804        * find.c (main): Remove interface to fastfind, to prevent
1805        conflict with POSIX syntax.
1806        * util.c (usage): Remove fastfind syntax from message.
1807        * fastfind.c (main): New function.
1808        * Makefile: Make fastfind a separate program.
1809
1810        * find.c (main): Print correct message if a predicate arg is
1811        missing.
1812
1813        * parser.c (insert_exec_ok): Make args that start with a ';' but
1814        contain other characters not terminate the command.
1815
1816Fri Jun 15 00:33:45 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
1817
1818        * fstype.c: If MOUNTED isn't defined but MNT_MNTTAB is, use it
1819        instead.  True for HP/UX, at least.
1820
1821Thu Jun 14 10:10:25 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
1822
1823        * savedir.c: New file; now find won't run out of file
1824        descriptors in deep trees.
1825        * find.c (process_path): Use savedir.
1826
1827Sat Jun  9 03:15:21 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
1828
1829        * parser.c (parse_permmask): Allow symbolic mode masks.
1830        (parse_perm): Free 'struct change' when done with it.
1831        (get_oct): Function removed.
1832
1833        * find.c (process_path): Allow arbitrarily-long filenames.
1834        More efficient string copying.  Initialize perm_mask to 07777
1835        instead of -1.
1836
1837Thu Jun  7 04:22:42 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
1838
1839        * Makefile, find.c: Use DIRENT to control whether <dirent.h>
1840        is used.
1841
1842Thu May 31 04:46:11 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
1843
1844        * parser.c (parse_regex): New function.
1845        * pred.c (pred_regex): New function.
1846
1847        * fstype.c (read_mtab): If mtab entry has a "dev=" option
1848        (like in SunOS 4.1), use it, so there is no need to stat the
1849        special file later on.
1850        (xatoi, strstr): New functions.
1851
1852Mon May 21 01:04:42 1990  David J. MacKenzie  (djm at abyss)
1853
1854        * lib/updatedb.sh: Put BINDIR in PATH.
1855
1856        * fstype.c: Do nothing if MNTENT_MISSING is defined.
1857
1858        * fstype.c: New file.
1859        * parser.c (parse_fstype): New function.
1860        * pred.c (pred_fstype): New function.
1861
1862        * parser.c (parse_newer): Failure to stat -newer file is a
1863        fatal error.
1864
1865        * pred.c (pred_ok): Flush output before reading.  Use getchar
1866        instead of scanf.
1867
1868        * pred.c (pred_prune): Return false if -depth given.
1869        * find.c: Apply the predicates to the dir when -depth and
1870        -prune are given.
1871
1872Sun May 20 19:55:30 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
1873
1874        * pred.c (pred_prune): Set new global var `stop_at_current_level'.
1875        * find.c (process_path): Test and reset it.
1876
1877Fri May 18 01:56:17 1990  David J. MacKenzie  (djm at abyss)
1878
1879        * modechange.c, modechange.h: New files.
1880        * parser.c (parse_perm): Use mode_compile and mode_adjust to
1881        parse arg, to allow symbolic mode for POSIX.
1882
1883Thu May 17 02:07:44 1990  David J. MacKenzie  (djm at abyss)
1884
1885        * parser.c (get_oct): Don't consider an empty string a valid number.
1886
1887        * parser.c (parse_perm): If arg starts with '-', set flag bit
1888        for special comparison (POSIX).
1889        * pred.c (pred_perm): If flag bit set, compare s[ug]id &
1890        sticky bits as well, and return true if the given perms are
1891        set, ignoring other bits.
1892
1893        * find.c: New global var `exit_status'.  Use it.  (POSIX)
1894        * parser.c: Set `exit_status' if lstat on -newer file fails.
1895
1896        * fastfind.c: New file.
1897        * find.c (main): Call fastfind if given only 1 arg.
1898        * util.c (usage): Update message.
1899        * lib/{Makefile,updatedb.sh,bigram.c,code.c}: New files.
1900        * Makefile: Add 'all' and 'install' targets.
1901
1902Wed May 16 23:23:35 1990  David J. MacKenzie  (djm at abyss)
1903
1904        * parser.c (parse_nogroup, parse_nouser): Implement.
1905        * pred.c (pred_nogroup, pred_nouser): Implement.
1906
1907Mon May 14 00:09:35 1990  David J. MacKenzie  (djm at abyss)
1908
1909        * find.c: Add variable `stay_on_filesystem' for -xdev.
1910        (process_path): Take an arg determining whether this call is
1911        the root of a tree.  Use lstat instead of stat.  If
1912        stay_on_filesystem, don't process a dir on a different
1913        filesystem.
1914
1915        * parser.c (parse_newer): Use lstat instead of stat.  Is this right?
1916        (parse_xdev): Set stay_on_filesystem.
1917
1918        * parser.c: Add dummy parse_nogroup, parse_nouser,
1919        parse_prune, and parse_xdev; to be written later.
1920        * pred.c: Add dummy pred_nogroup, pred_nouser, pred_prune.
1921
1922        * find.c: Support System V directory library/headers.
1923
1924        * find.c (process_path): Don't continue with a file that stat
1925        fails on.
1926
1927        * defs.h, parser.c, pred.c: Change 'u_long' and 'u_short' to
1928        'unsigned long' and 'unsigned short'.
1929        * find.c, defs.h: Remove 'convert_glob' variable.
1930        * parser.c (parse_fullregex): Function removed.
1931        (parse_name): Remove regular expression code.
1932        (parse_type): Recognize sockets.
1933        Add code to check for missing arguments to many parse_* functions.
1934        * pred.c (pred_name): Use glob_match instead of regex.
1935
1936Sun May 13 17:45:09 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
1937
1938        * Replace fprintf, simple_error, and mem_error with error and
1939        usage.
1940
1941        * Fix string header includes for USG.
1942
1943Tue Mar 27 12:40:29 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
1944
1945        * defs.h: Change some #defines to enums.
1946
1947Sun Mar 25 22:08:58 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
1948
1949        * find.c (main): Don't take basename of argv[0].
1950
1951        * util.c (xmalloc): New function.
1952        * find.c, parser.c, utils.c: Use xmalloc instead of malloc.
1953
1954        * pred.c: Remove emulation of regex for BSD and use GNU
1955        library version in regcmp.c instead.
1956        * parser.c: Remove emulation of regcmp for BSD and use GNU
1957        library version in regcmp.c instead.
1958        * Makefile: Link with regex.o and regcmp.o.
1959        Add a DISTFILES macro and dist target.
1960
1961        * Indent source code.  Move RCS logs to this file.
1962
1963Wed Mar 21 09:30:18 1990  David J. MacKenzie  (djm at pogo.ai.mit.edu)
1964
1965        * xargs.c: Indent.  Comment and rename some global variables.
1966        (main): Use getopt to parse options.  Open new global var
1967        `tty_stream' to /dev/tty if querying requested.
1968        (print_args): Read response from tty_stream, not stdin.
1969        (xmalloc): New function.
1970        Global: Use xmalloc instead of malloc.
1971        (usage): Revise message.
1972
197387/02/22  20:01:20  20:01:20  cire (Eric B. Decker)
1974
1975        * pred.c: added guts to pred_size
1976
197787/02/22  00:59:42  00:59:42  cire (Eric B. Decker)
1978
1979        * pred.c: added guts to perm and permmask.
1980
198187/02/21  23:02:21  23:02:21  cire (Eric B. Decker)
1982
1983        * pred.c: made pred_name only look at the last component of
1984        the path.
1985
198687/02/21  22:26:47  22:26:47  cire (Eric B. Decker)
1987
1988        * pred.c: added guts to name.  useds regex and regcmp to do
1989        regular expression handling.
1990
199187/02/21  00:17:21  00:17:21  cire (Eric B. Decker)
1992
1993        * pred.c: added predicate newer
1994
199587/02/20  11:40:07  11:40:07  cire (Eric B. Decker)
1996
1997        * pred.c: added guts to pred_ok
1998
199987/02/19  23:52:37  23:52:37  cire (Eric B. Decker)
2000
2001        * pred.c: finished exec.
2002
200387/02/22  20:01:09  20:01:09  cire (Eric B. Decker)
2004
2005        * parser.c: added guts to parse_size
2006
200787/02/22  00:59:16  00:59:16  cire (Eric B. Decker)
2008
2009        * parser.c: added guts of perm and permmask.  added getoct
2010        routine for perm and permmask
2011
201287/02/21  23:32:50  23:32:50  cire (Eric B. Decker)
2013
2014        * parser.c: added -fre, -fullregex predicate to turn off
2015        globbing conversion
2016
201787/02/21  23:01:01  23:01:01  cire (Eric B. Decker)
2018
2019        * parser.c: reworked name so the regexpr pattern includes $ at
2020        the end to force globbing to work correctly.  End of the
2021        pattern refers to the end of the filename.
2022
202387/02/21  22:25:34  22:25:34  cire (Eric B. Decker)
2024
2025        * parser.c: added guts to name.  uses a conversion from
2026        globbing to regexp format.  uses regex and regcmp to actually
2027        to the comparison.
2028
202987/02/21  00:17:11  00:17:11  cire (Eric B. Decker)
2030
2031        * parser.c: added predicate newer
2032
203387/02/20  11:39:35  11:39:35  cire (Eric B. Decker)
2034
2035        * parser.c: added ok guts.  consolidated exec and ok to using
2036        insert_exec_ok
2037
203887/02/19  00:20:54  00:20:54  cire (Eric B. Decker)
2039
2040        * parser.c: minor bug in -fulldays predicate parser.  It
2041        should have set the flag full_days to true.
2042
204387/02/22  00:58:32  00:58:32  cire (Eric B. Decker)
2044
2045        * find.c: changed where we are setting perm_mask to -1.  need
2046        to make sure that this happens before every apply_predicate.
2047
204887/02/21  23:32:11  23:32:11  cire (Eric B. Decker)
2049
2050        * find.c: added error checking for no paths.  better error
2051        message if illegal ordering.
2052
205387/02/21  22:19:58  22:19:58  cire (Eric B. Decker)
2054
2055        * find.c: added global convert_glob
2056
205787/02/22  20:00:12  20:00:12  cire (Eric B. Decker)
2058
2059        * defs.h: added definition of BLKSIZE for size
2060
206187/02/21  22:19:25  22:19:25  cire (Eric B. Decker)
2062
2063        * defs.h: added global convert_glob for name
Note: See TracBrowser for help on using the repository browser.