Commit Graph

2209 Commits

Author SHA1 Message Date
christos
5dd9099216 PR/25699: David Laight: sh(1) hangs opening a named pipe as stdin for
background process
This happens because we vfork, and then open a named pipe with O_RDONLY
and block in the child. We avoid this, by opening the file with O_NONBLOCK,
and then reset it if we are vforked. XXX: this is an ugly fix.
2004-07-08 03:57:33 +00:00
mycroft
37b5b92c9f Truncate the prompt if too long. Fixes PR 24674, but not with the patch from
there.
2004-07-07 19:46:57 +00:00
mycroft
f662a744b6 Cleanup of ksh memory handling from OpenBSD, via Stefan Krueger in PR 24962.
Should also fix:
PR 8153
PR 13301
PR 15256
PR 25084
2004-07-07 19:20:09 +00:00
enami
e9bd9c26d8 Remove now unnecesary/incorrect cast. 2004-07-07 01:14:13 +00:00
enami
9bcbd6d9c6 - Remove unnecessary empty line.
- Wrap long line.
2004-07-07 01:10:58 +00:00
martin
dc1011f1c9 Available block count may be negative - so make the calculation signed.
This avoids output like:
Filesystem      1K-blocks     Used     Avail Capacity  Mounted on
/dev/wd1a           11799    11276 9223372036854775741   100%    /boot
2004-07-04 15:31:50 +00:00
christos
0dd4809fb6 remove stray debugging left from last commit. 2004-07-02 16:26:53 +00:00
enami
467ca7e2c8 Salvage the `create parent directories and try again' path which is
removed by the previous commit.
2004-07-02 07:17:17 +00:00
mycroft
1ccdf5daeb Make "set -e" once again provide the behavior documented in the man page,
which was unnecessarily changed in revision 1.50 while fixing other bugs.
That is, exit the shell if the last command in a || or && compound statement
is not short-circuited, and exits with a false status.  I.e., the following
will cause the shell to exit:

  set -e
  false || false

While this is not the prescribed behavior in SUSv3, it is what our man page
documents, and it is what all of the following implementations do:

  NetBSD /bin/ksh (pdksh)
  bash
  zsh
  Solaris 9 /bin/sh
  Solaris 9 /usr/xpg4/bin/sh
  Solaris 9 /usr/bin/ksh
  Tru64 /bin/sh
  HP/UX 11 /bin/sh

The "standard" seems to be wrong in this instance.
2004-06-30 09:32:38 +00:00
dsl
60bb0d96f3 Fix treatment of ' inside a 'here document' with a quoted EOF marker.
Fixes a breakage from the previous version.
2004-06-27 10:27:57 +00:00
dsl
c6cbc16d26 Correctly apply IFS to unquoted text in ${x-text}.
Fixes PR/26058 and the 'for i in ${x-a b c}; do ...' and ${x-'a b' c}.
I can't find a PR for the latter problem.
Regression test goind in shortly.
2004-06-26 22:09:49 +00:00
dsl
97e8f81436 Remove a broken optimistion that crept in earlier today. 2004-06-26 20:48:44 +00:00
dsl
8e940884ca Kill a diagnostic I accidentally left in. 2004-06-26 14:21:29 +00:00
dsl
e4a2a056d2 No functional changes (intended).
Rename some variables, add some comments, and restructure a little.
In preparation for fixing "set ${x-a b c}" and friends.
2004-06-26 14:09:58 +00:00
grant
b0cddc5f0d break out of the loop and avoid the infinite loop if attempts to
create, unlink and create all fail.
2004-06-26 13:28:09 +00:00
grant
e069813aa1 don't attempt to remove the current directory. 2004-06-26 12:39:06 +00:00
wiz
f1891abd4d Sync usage with man page. Closes PR 25861 by Kouichirou Hiratsuka. 2004-06-25 14:27:57 +00:00
wiz
b982defe98 Add -v to usage. Closes PR 25862 by Kouichirou Hiratsuka. 2004-06-25 14:25:33 +00:00
christos
6b1f699323 don't keep going if -C failed to chdir(); from OpenBSD 2004-06-21 13:38:51 +00:00
jmc
b2f782612f Completely rework how tools/compat is done. Purge all uses/references to
_NETBSD_SOURCE as this makes cross building from older/newer versions of
NetBSD harder, not easier (and also makes the resulting tools 'different')

Wrap all required code with the inclusion of nbtool_config.h, attempt to
only use POSIX code in all places (or when reasonable test w. configure and
provide definitions: ala u_int, etc).

Reviewed by lukem. Tested on FreeBSD 4.9, Redhat Linux ES3, NetBSD 1.6.2 x86
NetBSD current (x86 and amd64) and Solaris 9.

Fixes PR's: PR#17762 PR#25944
2004-06-20 22:20:14 +00:00
christos
08df9f4cb1 add -0 argument to handle nul separated file lists. 2004-06-19 02:27:00 +00:00
christos
b5370dc2f5 A small standalone program to dump ustar headers, used for debugging. 2004-06-16 14:28:21 +00:00
christos
0deda9612a PR/25934: Dieter Baron: hard links with long names still fail.
As mentioned in the previous commit, the switch statement in the longlink()
needed simplification and it was a bit incorrect. Only depend on the passed
type to determine what kind of gnu longlink to produce. Don't try to deduce
it from the archive file type.
2004-06-16 14:26:24 +00:00
dsl
39cf7788fc Use shell variables to get '(' and '\' inside shell substitution patterns.
Solves problems with different shells having differntly buggy parsers
(and the standard probably allowing random behaviour).
Should fix bin/25938
2004-06-15 23:09:54 +00:00
dsl
c6e67e3bf2 Change '\0' to 0 so that the SVR4 'echo' doesn't convert it to a null byte.
Fixes bin/25938
2004-06-15 22:57:27 +00:00
christos
393b592b72 PR/25934: Dieter Baron: tar and hardlinks with long filenames don't work.
- always put the @LongLink tag on the name, not the long-link name.
- pass in what type of long name record we want to create; one for long-name
  or long-link name.
XXX: We should get rid of the switch too.
2004-06-15 21:52:00 +00:00
christos
44eb0cca7b Restructure the code to make it more readable. No functional changes. 2004-06-15 21:49:36 +00:00
christos
24aca7f677 do the special symlink treatment with all negative fd's. 2004-06-15 21:44:55 +00:00
jmmv
0576e4b0be Drop extra space. 2004-06-15 14:08:33 +00:00
christos
cf19966782 Undo previous fix, breaks:
#!/bin/sh
echo ${1+"$@"}
./sh.new foo.sh a b c
a b c b c
I'll revisit this when I have some more time.
2004-06-09 12:17:36 +00:00
christos
fc5d411571 "for i in ${x-a b c}; do echo $i; done" should print "a\nb\nc\n" not "a b c\n"
like other shells do. mark the expansion for ifs splitting. XXX: linux has a
very complicated fix for this. I wonder why.
2004-06-08 03:29:51 +00:00
christos
95a737969b don't include the printf builtin if we are SMALL; saves 10K. 2004-06-06 07:03:11 +00:00
cjep
0ce4d4d615 Mention -g in synopsis. PR#25800 from Kouichirou Hiratsuka. 2004-06-04 09:25:48 +00:00
hubertf
c784286d1a Fix typo: and the -> and then 2004-06-03 19:54:37 +00:00
hannken
8c21bc6224 Add ffs internal snapshots. Written by Marshall Kirk McKusick for FreeBSD.
- Not enabled by default. Needs kernel option FFS_SNAPSHOT.
- Change parameters of ffs_blkfree.
- Let the copy-on-write functions return an error so spec_strategy
    may fail if the copy-on-write fails.
- Change genfs_*lock*() to use vp->v_vnlock instead of &vp->v_lock.
- Add flag B_METAONLY to VOP_BALLOC to return indirect block buffer.
- Add a function ffs_checkfreefile needed for snapshot creation.
- Add special handling of snapshot files:
    Snapshots may not be opened for writing and the attributes are read-only.
    Use the mtime as the time this snapshot was taken.
    Deny mtime updates for snapshot files.
- Add function transferlockers to transfer any waiting processes from
  one lock to another.
- Add vfsop VFS_SNAPSHOT to take a snapshot and make it accessible through
  a vnode.
- Add snapshot support to ls, fsck_ffs and dump.

Welcome to 2.0F.

Approved by: Jason R. Thorpe <thorpej@netbsd.org>
2004-05-25 14:54:55 +00:00
christos
626d1a4171 Keep track of the while level, when popping loops because of a breaksw.
This is nasty...
2004-05-13 15:25:58 +00:00
christos
5820cbfaf6 Welcome to WARNS=3 2004-05-11 17:12:26 +00:00
christos
d24b172c21 avoid overflow in strcpy. 2004-05-10 19:11:31 +00:00
grant
4fc8c484c7 - remove an extraneous word
- it's "backward compatibility" not "backwards compatibility"
2004-05-04 13:20:46 +00:00
grant
dced68e86f --unlink is the default, the argument is ignored and only accepted for
compatibility with other tar(1) implementations.
2004-05-04 13:13:01 +00:00
christos
69c89ea8a0 Don't exit with 1 on broken archives that mark directories as files for
the benefit of pkgsrc. I would have prefered that people fixed their
archivers instead.
2004-05-03 02:22:54 +00:00
dsl
00a6315e86 Ensure that fd 0, 1 and 2 are not used for the local end of pipelines.
Fixes PR bin/25395
2004-04-30 06:27:59 +00:00
matt
5864f65684 Set the chflags *after* the rename, not before. 2004-04-30 05:14:23 +00:00
christos
78b5033e6d PR/25350: Alan Barrett: Treat the sticky bit specially as non-superusers
cannot set it on non-directories (elvis-2.2_0 extraction failed)
2004-04-27 13:45:45 +00:00
christos
04d1f5de72 PR/25188: Thomas Klausner: pax-as-tar problem with trailing slashes
The problem is with the program that generates the tar file:
-rwxrwxrwx  1 root     wheel          0 Feb  8 16:46 faad2/aacDECdrop/
It creates directory nodes without the 'd' bit set, so that pax thinks
they are files and does the temporary name and dance with them. Added
code to detect this condition, warn about it, and work around it.
2004-04-25 16:20:24 +00:00
christos
57c1f1cfd7 PR/25299: grant beattie: 1.5.3/i386 kernel set archives confuse -current pax
PR/25310: Juan RP: tar can't unpack MS-DOS gzip files correctly
2004-04-25 15:52:30 +00:00
wiz
6af689d38b Grammar improvement by Patrick Welche. 2004-04-23 13:28:58 +00:00
wiz
d8dd84fc16 Fix typo noted by Patrick Welche. 2004-04-23 13:28:15 +00:00
simonb
9bc855a931 s/the the/the/ (only in sources that aren't regularly imported from
elsewhere).
2004-04-23 02:58:27 +00:00
wiz
55bf8ce8b5 Refer statvfs instead of removed statfs. 2004-04-21 12:22:27 +00:00