Commit Graph

3101 Commits

Author SHA1 Message Date
christos
eb8f42a53b Add siginfo support from Daniel Loffgren. 2012-01-04 15:58:37 +00:00
christos
1847bab548 PR/45613: Aleksey Cheusov: /bin/sh: 'set -e' + 'if eval false' problem
Fixed from: http://www.freebsd.org/cgi/query-pr.cgi?pr=134881&cat=
2011-11-14 18:24:45 +00:00
christos
c4753f0f6f sync with /usr/bin/time, use CLOCK_MONOTONIC 2011-11-09 19:16:00 +00:00
jym
331bd1b067 As suggested by Enami, rework the msgfmt logic a bit:
- error out when an unknown specifier is used. Do this in f_msgfmt(),
before dd(1) starts operation.
- allow buffer_write() to flush the internal buffer even when NULL is
passed as parameter.

Some whitespace fixes too.
2011-11-07 22:24:23 +00:00
jym
234ccf064a Add a new command to dd(1): msgfmt. The command modifies the
output of the information summary returned by dd(1). This can be used
to specify messages in a more usable (or parseable) format like
human-readable values.

My intent is to re-use this for building image files and quick I/O
benchmarking.

Reviewed by tsutsui@ on tech-userlevel. See also
http://mail-index.netbsd.org/tech-userlevel/2010/12/03/msg004179.html

Some examples:

 $ dd if=/dev/zero of=/dev/null bs=1m count=1 msgfmt=human
1+0 records in
1+0 records out
1048576 bytes (1,0 MB) transferred in 0.001 secs (1048576000 bytes/sec - 1,0 GB/sec)

 $ dd if=/dev/zero of=/dev/null count=1 msgfmt='
 > <speed>%E</speed>
 > <time>%s</time>
 > <bytes>%b</bytes>
 > '
<speed>500 KB/sec</speed>
<time>0.001</time>
<bytes>512</bytes>
2011-11-06 21:22:23 +00:00
christos
ce978720e5 Accept -X - 2011-11-03 21:59:45 +00:00
yamt
77975fd4f2 note what "other ln implementations" is. 2011-10-24 16:15:46 +00:00
reed
7c8c54b731 Fix typo.
From Snader_LB on IRC.
2011-10-18 12:36:31 +00:00
joerg
a2567f3beb Don't use non-literal format strings. 2011-10-16 17:12:11 +00:00
reed
f67ef85d6d Typo in comment fix from Snader_LB via IRC. 2011-10-16 00:32:25 +00:00
christos
13d04b5999 print the flag too next to the units like bash does. 2011-10-11 15:27:11 +00:00
christos
790e94dff8 Merge duplicate information. 2011-10-05 13:15:30 +00:00
apb
b0bdcb0f27 .Dq Dv \&: 2011-10-04 18:11:27 +00:00
christos
113ec67ab4 Mention what happens when we don't include :. It would be nice to use
.Dv :
but it produces ``'':
2011-10-04 18:07:39 +00:00
christos
03561a047f csh has no business using TTYHOG 2011-09-24 14:44:11 +00:00
joerg
6b5273200c Use __dead for the small build too 2011-09-16 16:06:23 +00:00
dholland
d88c027e8a A feature that wasn't implemented for 4.4alpha and still isn't implemented
is just plain not implemented.
2011-09-11 06:02:20 +00:00
plunky
9f61b80465 NULL does not need a cast 2011-08-31 16:24:54 +00:00
gson
52d3b7aa35 Use the same column spacing for the -h output as with the normal output,
as the same header line format is used in both cases and it can't line
up correctly with both of them otherwise.
2011-08-29 17:30:28 +00:00
joerg
5bb1ddccc2 Use __dead 2011-08-29 14:51:17 +00:00
joerg
490b73bf85 Mark yyerror as static and __dead. 2011-08-29 14:50:27 +00:00
joerg
074c0c6e91 static + __dead 2011-08-29 14:47:47 +00:00
joerg
7aae24bc7d static + __dead 2011-08-29 14:45:28 +00:00
joerg
44db7ee6ac Move usage and mark it static+dead 2011-08-29 14:44:21 +00:00
joerg
30176a91ba static + __dead 2011-08-29 14:38:30 +00:00
enami
8bc2f3136d No need to print internal state once debug is done. 2011-08-29 00:36:20 +00:00
christos
bc6c0498a1 - static/__dead
- use strpct from libutil
- fix off by one in format
2011-08-28 08:20:58 +00:00
christos
bc4c3c5734 use strpct(3) from libutil. 2011-08-28 07:49:16 +00:00
joerg
aa6d7bb577 Annotate dead functions 2011-08-27 12:55:09 +00:00
joerg
0bb547d3b0 Uses non-literal format strings in err.c 2011-08-25 15:44:51 +00:00
joerg
370cd318b5 Mark yyerror as dead. 2011-08-25 01:11:47 +00:00
christos
0404783632 document another non-literal format string 2011-08-23 10:47:06 +00:00
christos
69a4e2ee5b PR/45269: Andreas Gustafsson: Instead of falling off the edge when eating trailing newlines
if the block has moved, arrange so that trailing newlines are never placed in the string
in the first place, by accumulating them and adding them only after we've encountered a
non-newline character. This allows also for more efficient appending since we know how much
we need beforehand. From FreeBSD.
2011-08-23 10:04:39 +00:00
christos
d452d7e758 - add pid to the trace file so that we don't keep overwriting ourselves
- use va_copy to print the trace arguments so that we don't deplete it for the real printf
2011-08-23 10:01:32 +00:00
christos
819193d44d add more gcc printf format attributes 2011-08-23 09:59:20 +00:00
dholland
0a54ac30f5 Requires stdint.h. 2011-08-21 21:24:34 +00:00
christos
8151f99568 use const char [] for format. 2011-08-21 08:40:31 +00:00
manu
e3a6fc043c Remove warning about system extended attributes that cannot be copied, since
it will always be displayed when an unprivilegied user moves files across
filesystems (mv(1) uses cp -p in that case). After all, there is no warning
that we loose a setuid bit during a move or copy, so this makes sense.

Fixes bin/45259
2011-08-18 08:11:58 +00:00
wiz
00d8bbccfa Improve wording.
From Snader_LB.
2011-08-15 14:45:36 +00:00
christos
fe8677c354 Document non-literal formats 2011-08-14 10:53:16 +00:00
christos
5adf1dc258 eliminate dup code and non literal format strings 2011-08-14 10:49:58 +00:00
christos
0fa1334129 kill gcc-4.5 hack. 2011-08-14 10:40:25 +00:00
christos
850af422f9 eliminate non-literal format string. 2011-08-14 09:38:05 +00:00
dholland
7f03f2cad6 Adjust wording of previous and fix a couple grammar slipups/typos. 2011-08-03 15:44:15 +00:00
wiz
279244c214 New sentence, new line. Remove trailing whitespace. Bump date for previous. 2011-08-03 14:02:59 +00:00
manu
a9ed0e9824 iExplain what happens to extended attriutes when -p is used. 2011-08-03 12:55:03 +00:00
manu
32c00d6291 Make cp -p and mv preverve extended attributes, and complain if they cannot.
Also introduce library functions for copying extended attributes from one
file to another:
- extattr_copy_file, extattr_copy_fd, extattr_copy_link, with FreeBSD style,
  where a namespace is to be supplied
- cpxattr, fcpxattr, lcpxattr, with Linux style, where all namespaces
  accessible to the caller are copied, and the others are silently ignored.
2011-08-03 04:11:15 +00:00
joerg
90ca8ad494 Move the savehandler assignment before setjmp() to avoid triggering
warnings about use before initialization with clang.
2011-07-12 16:40:41 +00:00
mrg
e7c388dbdf add a comment to confirm a workaround as only being a GCC 4.1 issue. 2011-07-01 03:58:10 +00:00
mrg
dec137ed28 add a missing part from rev 1.10 and s/newline/newlinex/. found by GCC 4.5.3. 2011-06-22 03:56:17 +00:00
mrg
c111245a78 apply some -Wno-error and/or -fno-strict-aliasing.
all of this should be looked at closer, but some of them are not
very trivial.
2011-06-22 02:49:41 +00:00
wiz
1824f8a210 Use Fl Fl for long options. 2011-06-19 07:34:24 +00:00
christos
9f641b5c29 document --xz 2011-06-19 00:55:09 +00:00
christos
dbf8eeee06 add --xz 2011-06-18 23:07:04 +00:00
christos
4fc4fe2edf PR/45069: Henning Petersen: Use prototypes from builtins.h . 2011-06-18 21:18:46 +00:00
wiz
8ea06c6ede Sort sections. Remove trailing whitespace. 2011-06-13 20:41:00 +00:00
dholland
e9b3916bd6 When converting from pages to kilobytes, cast the return value of
getpagesize() to size_t. For some reason getpagesize() is defined to
return int, and several of the page counts we get come back from the
kernel as int32_t; in LP64 without the cast the byte count will be
computed in a 32-bit value and for large processes will overflow and
become negative... and then remain negative when divided by 1024 to
convert to kilobytes.

Fixes a problem I hit the other day where I saw negative RSS, which
turns out also to be PR 40642.

Note: other logic in here will break down when we first get >2TB
processes... and int32 page counts will break on >8TB processes. But
hopefully we won't see any of that for a few years yet.
2011-06-13 03:42:15 +00:00
uebayasi
189ed13db8 Typos. 2011-06-13 00:17:15 +00:00
christos
6f94afca58 document OLDPWD and cd - 2011-06-11 14:37:36 +00:00
uebayasi
82e9aece89 Support $OLDPWD. (christos@ will update the manual.)
Reviewd By:	christos
2011-06-10 02:19:10 +00:00
wiz
cd6d8c74b1 Sort options in SYNOPSIS, sort option descriptions, remove some extra
space, bump date for previous.
2011-05-31 11:31:10 +00:00
christos
ef4ded4a8d PR/45008: Martin Neitzel: document all rcmd(1) options. -46p were missing,
and -d was not in the synopsis.
2011-05-31 10:24:43 +00:00
joerg
a216da57a6 Default to -Wno-sign-compare -Wno-pointer-sign for clang.
Push -Wno-array-bounds down to the cases that depend on it.
Selectively disable warnings for 3rd party software or non-trivial
issues to be reviewed later to get clang -Werror to build most of the
tree.
2011-05-26 12:56:24 +00:00
joerg
a86027b1a0 Conditionalize printfs instead of using conditional empty format
strings.
2011-05-23 23:13:10 +00:00
wiz
e37a000e90 Sort sections, punctuation nits. 2011-04-28 13:51:47 +00:00
mbalmer
95f605c283 Wording fixes from Ryo HAYASAKA, thanks. 2011-04-02 08:38:56 +00:00
martin
66001421e0 Fix bogus paranthesis, From Henning Peternse in PR bin/44773. 2011-03-26 12:01:06 +00:00
dholland
9653d2d60a minor usage nit 2011-03-23 18:10:25 +00:00
christos
cde105a416 - use printf(3) "'" format to do thousands grouping instead of custom version.
- fix sign format inconsistencies.
2011-03-15 22:53:41 +00:00
wiz
77dc3c9d0c Add -M to usage. 2011-03-15 08:36:16 +00:00
wiz
0f3a9d3c9c Remove trailing whitespace. Add -M to usage. 2011-03-15 08:36:01 +00:00
erh
4aaf499c53 PR#7540, add a -M option to ls which causes sizes (and number of blocks) to be
displayed with comma separators (or a locale specific separator).
2011-03-15 03:52:37 +00:00
njoly
ef6127c9f2 Fix sub-section references. 2011-03-09 22:26:36 +00:00
wiz
b8f8abf38a Typographical improvement by David H. Gutteridge in PR 44645. 2011-02-27 06:02:07 +00:00
pooka
db28d5668c Tell copyfd if the caller wants the exact tofd to just fd >= tofd.
Fixes "echo foo > /rump/bar" in a rump hijacked shell.

reviewed by christos
2011-02-17 15:13:49 +00:00
dholland
f2815da66c fix typo, from Randolf Richardson in PR 44559 2011-02-13 08:34:00 +00:00
wiz
daf77513cf Put -l compatibility note in STANDARDS section. 2011-02-06 12:49:32 +00:00
darcy
d87812693f Add -l option to copy a tree as links.
Non-standard option similar to Gnutools cp(1)
Approved by core.
2011-02-06 12:37:48 +00:00
pooka
37c4e1235f Remove the rif/rof options and add rump.dd. This makes usage
consistent with other rump clients.  Copying between kernels is
done using the host pipe, e.g.:

  dd if=foo rof=bar skip=1 seek=1 => dd if=foo skip=1 | rump.dd of=bar seek=1

Also, the pipe idiom extends to copying between different rump
kernels, e.g.:

  env RUMP_SERVER=unix://srv1 rump.dd if=thefile \
      | env RUMP_SERVER=unix://srv2 rump.dd of=thefile

Pipe approach suggested by yamt (thanks!)
2011-02-04 19:42:12 +00:00
christos
60c10f9b2e revert the revert and fix the code properly. 2011-01-29 02:16:52 +00:00
drochner
da4141bdd5 roll back to 20101210 -- the current version just hung if one tried
to set the date
2011-01-28 20:23:38 +00:00
wiz
b259bc7d81 Use Fx. 2011-01-24 07:22:57 +00:00
yamt
220d843f04 document what -a is for 2011-01-24 02:44:22 +00:00
hauke
2a758472b6 The previous commit removed a { } block, and unintendedly introduced a
C99ism (inlined variable declaration), which hurts when pdksh is used
for bootstrapping pkgsrc. Move the two declarations to the beginning
of the block.
2011-01-23 17:15:15 +00:00
hauke
69c247a5bf The Solaris 7 "/usr/{,xpg4/}bin/sort"s expect whitespace between the "-k"
option and its argument.
2011-01-23 17:11:55 +00:00
christos
da9c1e1b4d fix previous. 2011-01-22 21:09:51 +00:00
christos
055b26bb55 Make printing of lwp flags similar to the process one, identifying (O)nproc
(K)ernel threads and scheduler (a)ctivations.
2011-01-22 20:55:58 +00:00
jym
d4045078ec No need to cast with bsearch(), it returns a void *. Use __arraycount(). 2011-01-13 23:45:13 +00:00
jmmv
416c5b0ff8 Call el_source before initializing sh-specific editline properties (i.e.
the editor type and the tab completion binding).

This allows tab completion to work when a user has an ~/.editrc file.

Addresses PR bin/43404.
2011-01-07 22:21:56 +00:00
wiz
59dc922deb Fix fd leak in error case. Found by cppcheck. 2011-01-04 10:35:10 +00:00
riz
d766fd33f5 Fix speling ("deferred," not "defered") as reported in #netbsd-code on
freenode IRC.  While I'm here, clean up the wording later in the comment.
2010-12-23 21:55:40 +00:00
enami
a46391d703 Add iseek and oseek option as aliases for skip and seek respectively.
These options exist in dd of solaris or svr3.  From FreeBSD.
2010-12-22 09:42:53 +00:00
enami
db65e26847 Copy argument before modifying it so that ps shows entire argument.
From OpenBSD via FreeBSD.
2010-12-22 09:39:06 +00:00
wiz
1e77407211 Sort option descriptions, bump date for -a. 2010-12-22 09:02:32 +00:00
christos
1d41baa0ed Say that -a is non-standard and -P is the default. 2010-12-22 05:46:25 +00:00
christos
9985da2181 Add -a archive flag. from Aleksey Cheusov 2010-12-21 20:56:01 +00:00
njoly
9f266c104e Fix cross-reference, dir(5) -> dirent(3). 2010-12-17 19:20:42 +00:00
pooka
e5d7b7bef0 remove some leftover development garbage 2010-12-14 19:04:05 +00:00
pooka
49242e416d Make compile on non-NetBSD. 2010-12-14 19:03:21 +00:00
christos
63cfe07dab PR/44229: Henning Petersen: Remove dup check for whitespace. 2010-12-13 16:54:04 +00:00
christos
187cac5a8d check return value of localtime. 2010-12-12 17:30:23 +00:00
christos
5b87ff3a6f - check return of strtoll
- misc cleanup
2010-12-11 16:57:51 +00:00
enami
8701b1fd0e Wrap long line. 2010-12-09 10:24:56 +00:00
pooka
39a175ce63 Fix most inopportune typo. from gson & jmmv. 2010-12-06 15:23:29 +00:00
jym
44e64860fc Hmm, for 'rof', I believe that C_ROF|C_OF is invalid rather than
C_ROF|C_ROF.

Hi pooka :)
2010-12-05 23:35:59 +00:00
pooka
7192ed629b extra crunchgen hoops 2010-11-22 21:59:09 +00:00
pooka
6b03da8b7e Add two new operands: "rif" and "rof". They operate exactly like
"if" and "of" with the exception that the communicate with a rump
kernel instead of the host kernel.

For example, to write stdout to /tmp/file.txt in a rump kernel namespace:
	dd rof=/tmp/file.txt

copy /file1 to /file2 inside a rump kernel:
	dd rif=/file1 rof=/file2

copy a snippet from /dev/rmd0d on the rump kernel to the host fs:
	dd rif=/dev/rmd0d of=save seek=1000 count=3

Eat that, usermode OS.

(I'll document the operands one I have some manpage to refer to
for rump client use).
2010-11-22 21:04:27 +00:00
christos
7c0ceafd8c revert again, since this breaks libtool amongst other things. 2010-11-17 13:40:48 +00:00
christos
abc3b37046 PR/43469: Antii Kantee: test/util/sh/t_expand:strip fails.
Bring back fixes from revision 1.75:

- Fix a couple of bugs to make the following two echo statements print the
  same output as they should:

    line='#define bindir "/usr/bin" /* comment */'
    echo "${line%%/\**}"
    echo ${line%%/\**}

1. ISDBLQUOTE() was not working properly for non VSNORMAL expansions because
   varnest was incremented before the variable was completely parsed. Add
   an insub adjustment to keep track of that.
2. When we have a quoted backslash, we either need to escape twice, because
   one level of escaping will be stripped later (in the variable substitution
   case) or simply enter the backslash.
2010-11-16 18:17:32 +00:00
christos
af7c6886fd revert previous. breaks other stuff. 2010-11-14 19:49:16 +00:00
christos
082c42cb76 - Fix a couple of bugs to make the following two echo statements print the
same output as they should:

    line='#define bindir "/usr/bin" /* comment */'
    echo "${line%%/\**}"
    echo ${line%%/\**}

1. ISDBLQUOTE() was not working properly for non VSNORMAL expansions because
   varnest was incremented before the variable was completely parsed. Add
   an insub adjustment to keep track of that.
2. When we have a quoted backslash, we need to escape twice, because one
   level of escaping will be stripped later. (XXX: Do that when insub == 1
   only?)

- Make macros statements
2010-11-14 19:43:38 +00:00
christos
232829f42f don't core-dump if we cannot open the trace file. 2010-11-14 19:36:07 +00:00
stacktic
129baba091 Make sh build in debug mode 2010-10-29 17:06:53 +00:00
stacktic
6a6f2f47f8 Initialized flag field in struct alias (Fixed PR/43281) 2010-10-29 17:04:48 +00:00
tron
1181f40421 Re-enable support for reading files of at most 8MB via mmap(2).
Write out the mmap-ed data in small chunks to avoid locking the output
file for a long time.

Suggested by David Holland on "source-changes-d" mailing list.
2010-10-25 08:19:47 +00:00
pooka
efab5715bc Disable mmap path. With the current vnode locking scheme it has
a very annoying property: if the source media is slow (like a slow
network), the target file will be locked for the duration of the
entire max 8MB write and cause processes attempting to e.g. stat()
it to "tstile" (for several minutes in the worst case).  Revisit
this if/when vnode locking gets a little smarter.

chs ok (although he would rather see vnode locking improvements,
but that's a slightly larger project)
2010-10-22 17:56:06 +00:00
wiz
1318c0e8c4 Bump date for SIGINFO. 2010-10-09 07:40:58 +00:00
mrg
3b4fa1d52f add SIGINFO support; from freebsd:
when a SIGINFO is delivered, display the approximate remaining seconds.
2010-10-09 04:57:30 +00:00
gson
10d3698a9d Simplify by using setenv() instead of putenv(). 2010-10-03 08:21:27 +00:00
gson
5e313b3092 putenv() no longer accepts a const string 2010-10-02 08:26:09 +00:00
enami
0d5166c3ab Backout previous; it was wrong fix. 2010-08-31 05:07:09 +00:00
enami
15ae718747 Fix build as tools. 2010-08-31 04:50:07 +00:00
enami
6953635557 - Raise an error rather than silently creating broken archive
if user don't specify --force-local but opened file is actually
  a local file.
- Make cpio to accept -F option as described in manpage.
- Make pax to set forcelocal flag if requested to do so.
- Add missing break statement.
2010-08-31 03:16:06 +00:00
christos
42fececd08 dprintf is claimed by posix. 2010-08-30 06:27:14 +00:00
christos
f69d85affc increase commented out debugging. 2010-08-30 06:26:59 +00:00
sjg
2ff6888cf4 Do not throw a usage message for -i followed by -t
since 'cpio -itv' is a valid command.
2010-08-25 21:36:02 +00:00
perry
7e5b4620db add bsd.subdir.mk 2010-08-22 02:21:31 +00:00
perry
9573f66f1d RCSIds 2010-08-22 02:19:07 +00:00
perry
ee256018ca build the tutoral 2010-08-22 02:09:36 +00:00
perry
32b1d940e0 Extremely extensive updates.
This document should now serve as a reasonable tutorial for the
modern POSIX shell. Comments and additional fixes for mistakes I may
have made are solicited.
2010-08-22 02:03:06 +00:00
perry
62dd025e10 Revive S.R. Bourne's original tutorial on using the Bourne Shell.
This initial commit consists of the files as they existed in 4.4BSD,
with the copyrights altered to reflect the subsequent BSD relicensing.
2010-08-22 01:58:16 +00:00
enami
5a8bd46049 Fix broken indentation. No functional change. 2010-08-18 02:53:54 +00:00
njoly
c45af2045a Do not check pcpu value against 100.0 but rather 99.95, to properly
deal with value rounding. From apb@.
2010-07-28 17:39:54 +00:00
njoly
0697f9d213 Make %cpu drop the decimal part when reaching 100%, to stay in the 5
expected columns.
2010-07-27 12:40:48 +00:00
joerg
0597463e89 Don't quite +', -' and `/' in set -x output. 2010-07-19 01:15:17 +00:00
rmind
1126bbae2c Add #include <sys/param.h> for howmany(). 2010-07-08 20:43:34 +00:00
wiz
9b010439be Use Fl Fl for long options. Remove unnecessary Bk/Ek. 2010-06-19 11:16:31 +00:00
christos
0ac48c3baa add --use-compress-program to pax, requested by mrg. 2010-06-19 00:43:57 +00:00
riz
a9adb2c9b0 If the definition of a static function is #if DES, the declaration
of it should be too.  Fixes build of ed where MKCRYPTO=no.
2010-06-09 19:20:18 +00:00
sjg
6d83722e40 PR: 39604
Reviewed by:

add_glob:
Do not stop scanning if we see '$' as it does more harm than good.
For $HOME/tm we should return $HOME/tm*
2010-06-05 03:02:37 +00:00
christos
eb956cbd4d need errno for the debug build. 2010-06-03 16:14:13 +00:00
christos
f82c1d73b2 set -e is supposed to work inside eval; skip EV_TESTED. 2010-06-03 16:06:48 +00:00
dholland
30dd36f330 Note that set -o tabcomplete requires either set -o emacs or set -o vi
to work.
2010-06-03 02:05:02 +00:00
rmind
8b95f823bf Fix ps(1) and top(1) to show reasonable CPU numbers i.e. cpu_index() provided
by the kernel, instead of CPU order number, which is generally random.
2010-05-31 03:18:33 +00:00
dholland
a617f5fd5a Don't blow up on date +''. Patch from Robert Elz in followup to PR 39392. 2010-05-29 20:41:58 +00:00
joerg
52bf796fd6 Explicitly quote | and : meant as separate operator. Kill trailing
whitespace. Don't use \Z' with obscure character entity. Reorder sections
to canonical order.
2010-05-24 00:29:30 +00:00
joerg
a6a5384f08 Don't break lines in .It, there be dragons in groff. 2010-05-14 17:37:06 +00:00
joerg
3a7ba0e773 Reorder sections to canonical order. Use .Ex -std 2010-05-14 17:11:52 +00:00
joerg
fd71eb70d7 Quote punctation. 2010-05-14 02:09:58 +00:00
joerg
22c838d332 Add MKBSDTAR, defaulting to no. It switching cpio and tar to the
libarchive based frontends.
2010-04-23 19:41:02 +00:00