Commit Graph

13 Commits

Author SHA1 Message Date
torstenb
fcf2e1858d st_size in struct stat has type off_t (long long) and not unsigned long
change strtoul() to strtoq()
1995-10-06 16:25:10 +00:00
bde
7b0390d665 Use p->fts_level instead of unsuccessfully trying to keep track of the
level ourself.  We failed for unreadable directories.  E.g.,
`mtree -d -f /etc/mtree/BSD.usr.dist -p /usr' run by `nobody' was
confused after it couldn't descend into /usr/games/hide.  It looked
for /usr/include and subsequent directories in /usr/games.

Don't search for `extra' files when the spec depth is less than the
fts level.  The spec depth isn't incremented for leaf nodes because
that would give a NULL level pointer and make it inconvenient to go
back to the parent level.  Leaf nodes are built for directories that
are empty in the spec.  Since they are empty in the spec, all files
in them are extra.  The search looked for files one spec level
too high, so for `mtree -d -f /etc/mtree/BSD.usr.dist -p /usr',
obj/sbin matched ./sbin and wasn't considered extra, so it was
descended into and lots of bogus extra things in it were found.
This was harmful for `mtree -U' (as reported in pr623) and worse
for `mtree -r'.

Use rmdir(), not unlink(), to remove `extra' directories.  unlink()
succeeds for root but unlinking directories normally damages the
file system.

Report `fts_errno' instead of `errno' when the former applies.
1995-07-24 02:52:42 +00:00
bde
7eb5058726 Report fts_errno' instead of errno' when the former applies. 1995-07-24 02:50:50 +00:00
phk
1b1b92f5a7 Fix to match new MD5 api, faster. 1995-07-12 09:15:15 +00:00
rgrimes
4f960dd75f Remove trailing whitespace. 1995-05-30 03:57:47 +00:00
wollman
f56d4ade79 mtree * MD5 = better security
Idea from: Dr. John T. Wroclawski
1995-02-10 03:12:42 +00:00
rgrimes
162fb0a314 Add -U option which does the same things as -u except exits with 0
instead of 2 on MISMATCH.
1994-10-09 20:28:31 +00:00
dg
4673798b34 Fixed bug caused by missing set of paranthesis when checking the modification
time. This caused differences in the nanosecond portion of the time to
screwup the logic and made mtree think it should compare  the modtime even
though "time" wasn't specified. The end result is that mtree couldn't deal
with procfs because procfs sets the mtime with high accuracy via microtime().
1994-09-24 16:52:42 +00:00
rgrimes
7be4a7b142 My optimization to eliminate /set records was a little too aggressive, it
optimized away the first one :-(.
1994-09-19 01:32:57 +00:00
rgrimes
b98c90be2e 1. Remove commented out CFLAGS+=-DDEBUG from Makefile
2.  Clean up code so it compiles -Wall (except for sccsid's and copyright).
    This included fixing several printf formats that where not correct,
    and changing the data types of a few things.

3.  Implement new option -i that produces indented mtree output files.

4.  Implement new option -n that turns off directory comments.

5.  Only emit /set records if something has changed since the last one.
1994-09-18 21:17:40 +00:00
adam
e4aa951d50 fixed typos
Reviewed by:
Submitted by:
1994-09-03 13:20:05 +00:00
wollman
d7fca5c189 Get rid of update. Make man page installation work with our scheme
(and rename a few in the process).
1994-08-05 16:31:05 +00:00
rgrimes
862fdf11a2 BSD 4.4 Lite usr.sbin Sources 1994-05-26 05:23:31 +00:00