Commit Graph

3139 Commits

Author SHA1 Message Date
joerg
9e69720425 Fix violations of the sequence point rule. 2013-06-28 15:04:35 +00:00
yamt
44f7683783 fix descriptor leaks. PR/47805
this fix was taken from FreeBSD SVN rev 199953 (Jilles Tjoelker)
    ------------------------------------------------------------------------
    r199953 | jilles | 2009-11-30 07:33:59 +0900 (Mon, 30 Nov 2009) | 16 lines

    Fix some cases where file descriptors from redirections leak to programs.

    - Redirecting fds that were not open before kept two copies of the
      redirected file.
	sh -c '{ :; } 7>/dev/null; fstat -p $$; true'
	(both fd 7 and 10 remained open)
    - File descriptors used to restore things after redirection were not
      set close-on-exec, instead they were explicitly closed before executing
      a program normally and before executing a shell procedure. The latter
      must remain but the former is replaced by close-on-exec.
	sh -c 'exec 7</; { exec fstat -p $$; } 7>/dev/null; true'
	(fd 10 remained open)

    The examples above are simpler than the testsuite because I do not want to
    use fstat or procstat in the testsuite.
2013-06-27 23:22:04 +00:00
yamt
071e965c48 constify 2013-06-12 01:36:52 +00:00
simonb
3a5cb7b1be Document that a here-document can finish at an EOF as well as at the
delimiter.
2013-05-09 11:43:27 +00:00
uebayasi
02829a8ca7 test(1): Compare timestamp in nsec scale in -nt/-ot. 2013-05-04 06:26:44 +00:00
zafer
51b7448f79 remove whitespace from end of file.
introduced by erh in 1.49
2013-05-02 22:43:55 +00:00
dholland
7e346d08a4 Add const. 2013-04-28 17:01:28 +00:00
wiz
eb5604b032 Sort sections. 2013-04-26 19:34:34 +00:00
christos
aab67d5210 PR/47770: Eitan Adler: add x flag to rm to avoid cross mount points 2013-04-26 18:43:22 +00:00
christos
2227ba4bf1 Make shifting variables reflect their environment counterparts. Makes
"shift path" work as expected.
2013-04-03 17:32:24 +00:00
christos
2135348107 PR/47608: Robert Elz: ``var=value func-call'' does not export var in the
function (+FIX)
2013-03-02 22:02:32 +00:00
he
85e98624ed When using -ledit, also use -lterminfo, to allow static linking. 2013-01-25 19:07:14 +00:00
christos
0961e62ab9 Obey SMALLPROG and don't enable the editor 2013-01-25 14:20:57 +00:00
christos
54f7a5dbf7 Recognize extended attribute headers and warn about them since we are not
currently handling them.
2013-01-24 17:43:44 +00:00
christos
185136779b make history kind of work :-), turn libedit support on. 2013-01-23 16:39:03 +00:00
christos
9263138f08 fix compilation without -DEDIT 2013-01-22 22:40:31 +00:00
wiz
cefd6eea55 Bump date for previous. 2013-01-22 21:20:26 +00:00
christos
5e9a2dddf3 Add a little libedit front end. Could be used as someone's pet project to
learn how to program. It is not enabled in the Makefile, and it states why
there.
2013-01-22 20:35:29 +00:00
christos
cd0ed5aa5a Remove alloc builtin, it did not work anyway since most modern malloc
implementation use a combination of sbrk/mmap.
2013-01-22 19:28:00 +00:00
dsl
0e82f4eb77 include limits.h for CHAR_MIN 2013-01-02 22:28:42 +00:00
dsl
658a58d038 Add support for '%n' being a shorthand for 'fg %n'. 2012-12-31 14:10:15 +00:00
christos
55853dd5e1 sprinkle const, no functional change intended. 2012-12-27 21:19:20 +00:00
dsl
7d60739ae7 Fix the expansion of "$(foo-$bar}" so that IFS isn't applied when
expanding $bar.
Noted by Greg Troxel on tech-userlevel running some 'git' tests.
Should fix PR bin/47361
2012-12-22 20:15:22 +00:00
wiz
dbb168824f - Remove unneeded consecutive argument in `.Nm' macros;
- rename `GRAMMAR AMBIGUITY' section to `CAVEATS', and move it to
  correct location;
- bump date.

From Bug Hunting.
2012-12-16 17:57:49 +00:00
christos
6814c65d63 PR/47317: Henning Petersen: Replace index() with strchr() 2012-12-13 19:33:23 +00:00
apb
ee9a2498cf Adjust everything under src (but outside src/tools) to use
the TOOLDIR version of libnbcompat, associated include files,
and associated defs.mk file, instead of the version from the
.OBJDIR of src/tools/compat.  This should fix PR 47188.
2012-12-02 12:55:27 +00:00
abs
6f08f9dbdd PR/47167
ls.1:
- Sort options in `SYNOPSIS', the option list, and texts within
  the man page;
- improve wording;
- improve macro usage;
- use more consistency regarding (locations for) information about
  which options override which;
- cross-reference `-d' and `-R';
- simplify description of `-k', removing redundant and unneeded
  information;
- sort entry type list (but leave `-a' and `-A' as they are, given
  their meaning);
- correct / augment description of `BLOCKSIZE' environment variable
  in `ENVIRONMENT' section;
- bump date.

ls.c:
- Sort options in `usage';
- augment comment about when to figure out block size.
2012-11-20 12:37:29 +00:00
christos
9638719987 only allocate if it would not fit in our buffer. 2012-11-19 19:41:31 +00:00
christos
c25982c7d1 fix bogus warning for zero-sized files. 2012-11-19 19:34:03 +00:00
wiz
baebe9d053 Sync usage with man page. 2012-11-10 18:42:22 +00:00
wiz
c6d7976845 Sort options (no-argument ones first, then argument-taking ones). 2012-11-10 18:41:10 +00:00
christos
0002c266f0 Add an option to read with a different buffer size, and document the
buffer size we use. This allows us to cat -B 10000000 /proc/<pid>/maps
for example which cannot handle seeking.
2012-11-10 16:18:41 +00:00
christos
c8bb8a7a53 fix argument parsing. 2012-10-22 18:00:46 +00:00
christos
bc8069542c add --reference=rfile 2012-10-22 17:47:06 +00:00
wiz
9ed3eb6e68 Use more markup. 2012-10-21 08:18:27 +00:00
jschauma
708ea1dcd8 clarify that BLOCKSIZE also influences the total in long output 2012-10-21 01:39:05 +00:00
njoly
bee4003ac7 Remove a few unneeded Pp macros. 2012-10-13 14:18:16 +00:00
wiz
f8c0e3497a - Correct macro usage;
- improve wording, including creating more consistency therein.

From Bug Hunting.
2012-10-03 19:37:36 +00:00
christos
4f5a673dad deal properly with empty lines in spec file 2012-09-27 00:44:59 +00:00
wiz
c650101e34 - improve punctuation;
- improve (create more consistency in) spelling;
- remove unnecessary (and in part ignored) macros, as well as an
  unnecessary argument to `.Bl' (fixes mandoc(1) warnings);
- improve wording;
- bump date.

Patch from Bug Hunting.
2012-08-26 14:30:38 +00:00
wiz
8630b9004f Improvements: wording, punctuation, macro usage.
From patch by Bug Hunting.
2012-08-12 17:27:04 +00:00
christos
6d8547fddc add missing include files 2012-08-09 11:05:59 +00:00
christos
d653d57c19 PR/46786: Simon Burge: After conversion to 64 bit time_t, tar/pax/cpio
erroneously think that negative time_t's never fit in 32 bits. Rework
conversion code to always use uintmax_t, and detect negative values.
XXX[1]: Perhaps we should do the same (use a signed conversion) for all
fields not just for time_t
XXX[2]: pullup for 6
2012-08-09 08:09:21 +00:00
dholland
2a71916f89 Use "e.g.", not "i.e.", to introduce an example. 2012-08-09 07:26:28 +00:00
christos
aa24bb3ca4 let the standard rules deal with librumpclient 2012-08-08 14:09:14 +00:00
yamt
46583bd0ea handle realloc failure 2012-06-29 12:51:38 +00:00
wiz
5ac3b50142 - sync SYNOPSIS' with dd.c's usage' line;
- correct spelling (prepositions).

From Bug Hunting.
2012-06-20 17:54:16 +00:00
wiz
18bcc29285 Remove another Pf. From Bug Hunting. 2012-06-20 14:19:39 +00:00
wiz
d1752d5db8 - remove trailing white space;
- sync `usage' with man page.

From patch by Bug Hunting.
2012-06-20 10:09:43 +00:00
wiz
9cbbbe6c0d - improve wording, and create more consistency within the text;
- correct `SYNOPSIS';
- improve macro usage;
- mention argument name for `-f' (and change list width for it);
- correct misplacement of periods (`.') and a parenthese (`(');
- fix typo;
- bump date.

From Bug Hunting.
2012-06-20 10:09:21 +00:00
wiz
123b56dc76 Initialize two variables for clang. 2012-06-17 20:48:27 +00:00
joerg
0adfd5e0b3 Make sure temp_path is always initialised, even if mklocal fails.
Make sure to restore localvars, even if possibly leaking memory.
Discussed with christos@
2012-06-14 18:56:54 +00:00
dholland
61f93db25f Rectify race condition in rm -P processing by checking that the file
we opened is the one we expected to get. Also use O_NOFOLLOW to help
avoid even opening devices, which sometimes produce side effects.

Reported by Radoslaw A. Zarzynski.
2012-06-13 07:35:37 +00:00
njoly
089201c2fd Allow thread limit queries by adding the new -r flag to ulimit. Add
the corresponding documentation in the man page.
2012-06-11 18:28:10 +00:00
christos
8af1ed165c support RLIMIT_NTHR 2012-06-09 02:50:43 +00:00
christos
426530cc5c support RLIMIT_NTHR. 2012-06-09 02:49:48 +00:00
joerg
1907ec3a61 Switch device database to cdb(5). Rework ttyname(3) and ttyname_r(3) to
depend on new devname_r(3) as heart. Add /dev/pts magic directly to
devname(3). While it can lead to returning non-existing paths, the
behavior is more consistent that way. Drop caching layer in devname(3),
it doesn't buy anything for the common case of having access to the
database. Teach devname(3) proper fallback behavior of scanning /dev.
Create both old-style and new-style database for now in /etc/rc.d/sysdb.
2012-06-03 21:42:44 +00:00
jdf
4197d2d493 Remove an unnecessary space in the manpage. Patch provided by Bug Hunting. 2012-05-09 22:29:06 +00:00
chs
e9b012a310 allocate a separate buffer in each call to sink().
reusing the buffer across recursive calls just doesn't work right.
2012-05-07 15:22:54 +00:00
joerg
763e57918f Push logic to convert a ttyname to a device number into its own
function. Improve dealing with ptyfs by explicitly handling missing
pts/%d entries, if the kernel supports the pts device (PR 40813).
2012-05-07 13:14:31 +00:00
wiz
d1cbb54293 Increase width of table column so it formats more nicely. 2012-04-15 21:20:16 +00:00
wiz
623d7ac414 Choose better argument name for `-U' (sync with man page).
From Bug Hunting in email.
2012-04-15 18:10:13 +00:00
wiz
463d14b148 - choose better argument name for `-U';
- add argument names for options in man page;
- improve wording, punctuation, capitalization.

From Bug Hunting in email.
2012-04-15 18:09:50 +00:00
wiz
a036920a7d Describe behaviour when no arguments are given.
Add comma.
Bump date.

From Bug Hunting.
2012-04-06 11:42:08 +00:00
wiz
c27272249b - fix timed(8) references;
- fix capitalization;
- add reference to environ(7) in `SEE ALSO' section, as it is
  mentioned in the text.

From patch by Bug Hunting.
2012-04-06 11:36:56 +00:00
joerg
b757af438b Disable new -Wstring-plus-int warning where needed for now.
Adjust various places that add GCC-only options to check for the active
compiler first.
2012-04-04 10:59:44 +00:00
christos
a080d61232 include <limits.h> for CHAR_MIN/CHAR_MAX 2012-03-28 20:11:25 +00:00
wiz
43a44d853f From patch by Bug Hunting:
- bump the manpage's date (because of the next change);
- note that cp(1) does not preserve hard links (even with `-R'),
  and refer to pax(1) there as well as in the `SEE ALSO' section
  for such functionality (this change is based upon a similar note
  in FreeBSD's version of the manpage);
- change a wording, for more overall consistency.
2012-03-25 22:37:08 +00:00
christos
1cd38287c6 PR/43597: Don't break from parsing word tokens in we are in double quotes.
Fixes: sh -c 'echo "${foo:="first-word"} second-word"'
2012-03-25 18:49:13 +00:00
christos
bc5ad24935 PR/6764: Charles M. Hannum: `trap 0' does not work in ksh subshells. When
subshells exit normally, use unwind(LEXIT) instead of unwind(LLEAVE) so that
traps get executed.
2012-03-25 17:23:48 +00:00
wiz
3957bea1ef Fix whitespace nits. Suggested by Bug Hunting. 2012-03-22 07:58:16 +00:00
matt
d8695ce615 Default to WARNS=5 2012-03-21 05:47:53 +00:00
matt
da4f7877a7 Use C89 function definitions 2012-03-20 18:42:28 +00:00
njoly
25dede0e9d Adjust for mandoc output. 2012-03-19 10:48:20 +00:00
christos
0e2492e23b fix signed blksize_t lossage. 2012-03-17 23:35:28 +00:00
wiz
ca57fd067f Use Lk. 2012-03-17 11:09:29 +00:00
wiz
7fd6e7037d Remove trailing whitespace. 2012-03-15 15:49:59 +00:00
christos
21ae83057a Fix obsolete example (that referred to letters in process state that are
not set anymore), and clarify their meaning.
2012-03-15 15:43:43 +00:00
joerg
66dd2755f5 Add __printflike attribution to use vprintf and friends with an argument
as format string.
2012-03-15 02:02:20 +00:00
dholland
cc236b866a The 'lstart' column uses strftime %c, not %C. Noted by mrg. 2012-02-23 21:54:28 +00:00
joerg
a401c50446 Don't use a for-loop with empty body. 2012-02-23 18:23:33 +00:00
matt
3ee36a48b5 Fix a very old bug. When allocating the buffer and doing just a bs= transfer,
hen we only need a single buffer equal to that blocksize in length.
2012-02-21 01:49:01 +00:00
wiz
6b6a89aacb Remove unused variable.
From cppcheck via Henning Petersen in PR 46002.
2012-02-13 12:55:28 +00:00
dholland
145f9b8221 Minor English improvements for -w, partly from Snader_LB. 2012-01-27 05:59:17 +00:00
christos
1897181a72 From tnozaki@: make fpos_t a complex object that keeps track of the parse
state of the stream. Change argument of the seek function to funopen() from
fpos_t to off_t. Make f{g,s}etpos() use the new fpos_t struct, while providing
backwards compatible entry points. Approved by releng@
2012-01-22 18:36:14 +00:00
christos
df65f3e2c9 Siginfo support from Daniel Loffgren 2012-01-21 16:38:41 +00:00
christos
09838d02ff PR/45856: Bernhard "Burnhard" Riedel: Infinite loop on &nbsp; input. Sending
char 160 in the input to csh, lead it to an infinite loop, because tcsh tables
counted this as a space character, but the word logic switch does not. Change
that character tables, so that this does not count as a spacing character
anymore, by syncing the table with the one from tcsh.
2012-01-19 02:42:53 +00:00
christos
de523f0873 use strspct. 2012-01-07 18:45:13 +00:00
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