Commit Graph

9282 Commits

Author SHA1 Message Date
Jaakko Heinonen
d8eba599f5 Don't read the newline character to line buffer because lines are passed
to wcscoll(3). Newline characters could cause incorrect results when
comparing lines.

Also, if an input line didn't contain a newline character, it was
omitted from the output. According to my interpretation, SUSv3 requires
that the newline is always printed.

Add regression tests for the cases. [1]

PR:		bin/140976
Submitted by:	D'Arcy Cain (original version) [1]
Approved by:	trasz (mentor)
2009-12-12 18:18:46 +00:00
Jaakko Heinonen
28c3507d53 The input line length limit mentioned on the manual page was removed by
r179374.

Approved by:	trasz (mentor)
2009-12-12 18:04:50 +00:00
Xin LI
6f2d322192 Remove unneeded header includes from usr.bin/ except contributed code.
Tested with:	make universe
2009-12-11 23:35:38 +00:00
Xin LI
e87862f53a Remove unnecessary termcap.h includes inherited from extern.h and other
unneeded headers.  While I'm there, make function definations ANSI
prototypes.
2009-12-11 23:30:22 +00:00
Xin LI
3daadfc833 Move unistd.h includes to individual .c files and remove unnecessary
includes.
2009-12-11 23:23:57 +00:00
Xin LI
512be259a7 Remove unnecessary includes.
Reviewed by:	rodrigc
2009-12-11 23:20:02 +00:00
Gavin Atkinson
ad61078f87 Add my birthday.
Approved by:	ed (mentor)
2009-12-09 22:03:57 +00:00
Ed Schouten
dc65bcacb2 Let w(1) use utmpx.
We don't have UT_*SIZE anymore. One of the reasons for that is because
all strings are null terminated, there is no need for apps to copy
strings out of the utmpx structure. This means we can define W_DISP*SIZE
lengths for all columns.

While there, adjust the sizes a little. Steal some bytes from the
username column, while extending the hostname column quite a bit.
2009-12-06 01:10:30 +00:00
Ed Schouten
3487b13416 Let systat's vmstat use utmpx. 2009-12-05 20:52:11 +00:00
Ed Schouten
b911cea8ff Port who(1) to utmpx.
(Un)fortunately there is no standardized interface to switch between
utmp database files, so we must call ulog_setutxfile() here.

I'm also changing the column widths to magic numbers here. Display
layout should in this case not be derived from structure fields sizes.
Because I don't want struct utmpx ever to become too small, the fields
are too big to reserve all the space.
2009-12-05 20:44:19 +00:00
Ed Schouten
5095053036 Let wall(1) use utmpx.
Because our implementation guarantees the strings inside struct utmpx to
be null terminated, we don't need to copy everything out, which makes
the code nicer to read.

Also set WARNS to 6 and add $FreeBSD$ to keep SVN happy.
2009-12-05 20:22:26 +00:00
Ed Schouten
bd76376f80 Let wall(1) use utmpx.
Because our implementation guarantees the strings inside struct utmpx to
be null terminated, we don't need to copy everything out, which makes
the code nicer to read.

Also set WARNS to 6 and add $FreeBSD$ to keep SVN silent.
2009-12-05 20:05:25 +00:00
Ed Schouten
6951e12ec7 Add WARNS?=6, because it seems to build out of the box. 2009-12-05 19:55:26 +00:00
Ed Schouten
cfe41e3b68 Use _ULOG_POSIX_NAMES here, to make eventual porting to <utmpx.h> easier.
By the time we gain a real <utmpx.h>, it's just a matter of changing the
include at the top and -lulog from the Makefile.
2009-12-05 19:54:37 +00:00
Stefan Farfeleder
023c421a96 Add a missing space to the error message when execvp() failed. 2009-12-05 13:12:04 +00:00
Roman Divacky
4c0191c569 Connect unzip to the build.
Approved by:	ed (mentor)
Approved by:	des (unzip author)
Tested by:	exp ports build (miwi)
2009-12-03 18:02:55 +00:00
Ed Schouten
178442d07a Use USER_PROCESS instead of LOGIN_PROCESS.
POSIX isn't clear about how the fields should be used, but according to
utmpx(5) on Linux, LOGIN_PROCESS refers to a TTY that's still running a
getty.
2009-12-03 17:05:36 +00:00
Ed Schouten
42b525af6e Port users(1) to libulog.
Instead of digging through the utmp database by hand, use proper API
calls to do so.  Instead of parsing entries with a non-empty ut_user, we
now look at LOGIN_PROCESS entries.
2009-12-03 16:42:18 +00:00
John Baldwin
3ee7e0d48e Remove -t from the manpage and usage. 2009-12-01 15:18:25 +00:00
Bjoern A. Zeeb
aaae58c491 Unbreak user space after if_timer/if_watchdog removal in r199975.
Tested by:	glebius
2009-12-01 14:56:00 +00:00
Bjoern A. Zeeb
90b4c081d0 Add more statistics variables for IPcomp.
Try to version the struct in a backward compatible way.
People asked for the versioning of the stats structs in general before.

MFC after:	5 days
2009-11-29 20:37:30 +00:00
Daniel Gerzo
a2ec746f79 - correctly render the provided example
PR:		docs/140962
Submitted by:	mharo
2009-11-28 11:05:22 +00:00
Tony Finch
137f2acad4 unifdef: fix invalid array access when nesting limit exceeded
If the number of nested #if blocks exceeds 64, nest() increments
the nesting depth and then reports an error.  The message includes
the line number for the start of the current #if block, which is
read from past the end of the relevant array.

Avoid the out-of-bounds read by reporting the error and exiting
before the nesting depth has a chance to increase.

Submitted by: Jonathan Nieder <jrnieder@gmail.com>
2009-11-27 17:53:49 +00:00
Tony Finch
84a3c48bb4 unifdefall: optimise the loop that builds the unifdef command.
The old code used a shell loop to convert each controlling macro
definition into a command-line argument, reading the macro definitions
file each time. The new code converts the list of controlling macros
into a sed script which can run through the list of macro definitions
in one go.

Add some explanatory comments, since the code is quite meta.

Use {} instead of () for redirecting a group of commands.

Submitted by: Jonathan Nieder <jrnieder@gmail.com>
2009-11-26 19:08:33 +00:00
Tony Finch
8af26c5e86 Remove debugging remnants from unifdefall.
Submitted by:	Jonathan Nieder <jrnieder@gmail.com>
2009-11-26 02:14:08 +00:00
Tony Finch
f6f85e213e Update unifdef to my upstream version 1.188
Main highlights:

(A) The new -B option compresses blank lines around a deleted section
    so that blank lines around "paragraphs" of code don't get doubled.

(B) Lenient evaluation of && and || so that #if expressions can be
    evaluated even when some of their sub-expressions cannot be.

(C) The evaluator can now handle macros with arguments.

(D) Portability fixes, especially for unifdefall.

Contributions from:
Ben Hutchings at Solarflare Communications (A and B)
Anders H Kaseorg <andersk@mit.edu> (A and C)
Jonathan Nieder <jrnieder@gmail.com> (D)

Obtained from:  http://dotat.at/prog/unifdef/
2009-11-25 20:23:18 +00:00
Attilio Rao
2e7ecbfbc8 Change gcore in order to get rid of the procfs accesses and use FreeBSD's
specific sysctls and ptrace interfaces.
This change switches a bit gcore POLA that is summarized here:
- now gcore can recognize threads within the process and handle dumps
  on thread-scope
- the process to be analyzed will be stopped during its gcore run
- gcore may not work with processes which are actively being analyzed
  by gdb or truss
- the ptrace interface may cause syscalls to return EINTR, thus
  interferring with signals handling within the process

Side note: <janitor task> the interface can be further lifted in order to
get rid of the very last procfs interfaces remnants and made more
suitable for copying with sysctl/ptrace interface </janitor task>.

Obtained from:	Sandvine Incorporated
Reviewed by:	emaste, rwatson
Sponsored by:	Sandvine Incorporated
MFC:		1 month
2009-11-25 15:23:14 +00:00
Attilio Rao
d72dc9a7eb Add the possibility to show informations about dropped packets on the
input path when showing informations about the interfaces.

Obtained from:	Sandvine Incorporated
Reviewed by:	emaste
Sponsored by:	Sandvine Incorporated
MFC:		2 weeks
2009-11-25 15:02:32 +00:00
Hajimu UMEMOTO
b94f6865f9 When -n is specified, attempt to turn hostnames found in utmp into IP
addresses, again.  However, change a hostname into an IP address, only
when a host has just one A/AAAA RR.

Requested by:	candy__at__kgc.co.jp
MFC after:	2 weeks
2009-11-22 16:51:44 +00:00
Edwin Groothuis
ec9f71c489 The output of perror(1) is now showing local messages for locales
supported by libc/nls

PR:		bin/140499
Approved by:	gnn@
2009-11-22 05:17:22 +00:00
David E. O'Brien
1511301cd8 Catch up with r144020's /Dir_FindFile/Path_FindFile/ 2009-11-17 19:35:39 +00:00
David E. O'Brien
952ffdb9da Garbage collect some old #ifdef'ed code from 1994 that causes vi's '%'
to be unable to find a match in Path_FindFile().
2009-11-17 16:26:45 +00:00
Xin LI
a0b4046b01 We should distinguish between a real truncated case and EOF after
BZ_STREAM_END triggered re-init.  Do it by introducing a new flag
to represent the 'cold' case after bzip2 state is reinitialized.

This fixes regression reported on -current@ as well as another one
I found during twiddling with gzip.

Reported by:	swell.k gmail.com
MFC after:	1 week
2009-11-16 22:52:52 +00:00
Colin Percival
22ce05c97c Update malloc utrace structure parsing to reflect the change (r199265)
in how malloc_init is logged from (0, 0, 0) to (-1, 0, 0).

While we're here, simplify the logic.

Reviewed by:	jhb (earlier version)
2009-11-14 09:33:51 +00:00
Hajimu UMEMOTO
347c7f559c Use ncursesw to output the date field of vmstat display
with multi-byte string, correctly.
2009-11-13 03:59:44 +00:00
Edwin Groothuis
c2eeded255 Although the file has "ex:ts=4", do some " " -> \t translations
so that it is also nicely readable with ts=8.
2009-11-12 21:51:01 +00:00
Xin LI
0c10c611ff Apply a NetBSD fix (revision 1.12) to handle multi-session bzip2 files
as created by pbzip2.

Submitted by:	mrg (NetBSD.org)
MFC after:	1 week
2009-11-09 02:37:02 +00:00
Attilio Rao
48f6dd8a8c Use a safety belt for cases where corrupted narg can be passed to the
ktrsyscall(). print_number() does decrement the number of arguments,
leading to infinite loops for negative values.

Reported by:	Patrick Lamaiziere <patpr at davenulle dot org>,
		Jonathan Pascal <jkpyvxmzsa at mailinator dot com>
Submitted by:	jh
PR:		bin/120055, kern/119564
MFC:		1 week
2009-11-07 21:46:34 +00:00
Xin LI
49fc79609a Static'ify signal handler which is not called from outside. 2009-11-03 09:25:08 +00:00
Christian Brueffer
cf6c5eebe7 Use our canonical .Dd format.
Submitted by:	Ulrich Spoerlein
2009-11-02 12:35:38 +00:00
Kirk McKusick
4145bb53bf When reading input from a file or device (via -f option) set the
input to be in non-buffering mode so that input lines are logged
as they occur rather than being saved up until a buffer's worth of
input has been logged.
2009-10-30 21:54:53 +00:00
Colin Percival
2bc706c648 Add notes pointing out that bsdiff does not store file hashes and
bspatch thus does not verify file hashes, and that consequently it
is recommended that users store hashes separately and verify files
before and after running bspatch.

Requested by:	BugMagnet
MFC after:	1 week
2009-10-30 11:13:00 +00:00
John Baldwin
f786e2f82e When fetching sum stats (vmstat -s) from a crash dump, fetch per-CPU counts
and sum them to form the total counts.

PR:		bin/135893
Submitted by:	Mikolaj Golub  to my trociny of gmail
MFC after:	1 week
2009-10-29 17:34:02 +00:00
Max Khon
ab5f4f723d Reset UPTODATE gnodes after remaking makefiles when make
is not going to be restarted: such nodes could be marked UPTODATE
without doing rebuild due to remakingMakefiles being TRUE.
2009-10-18 11:28:31 +00:00
Max Khon
a234abce8e Exit with non-zero error code in case of errors
when make is run with -k and not parallel (compat) make is run.
2009-10-18 11:26:09 +00:00
Jaakko Heinonen
c64b097bfc - If lstat()/stat() fails with an error other than ENOENT, don't ignore
the error and assume that the file doesn't exist. Touch could return
  success with -c option even if the file existed and time was not set.
- If the first utimes_f() call fails with -A option, give up and don't
  continue trying to set times to current time. [1]
- Set exit status to 1 when setting of timestamps fails for a directory
  or symbolic link even though lstat()/stat() would succeed.
- Don't print bogus error message when rw() succeeds.

PR:		bin/112213
Submitted by:	jilles [1]
Reviewed by:	jilles
Approved by:	trasz (mentor)
2009-10-16 20:52:45 +00:00
Robert Watson
c8359dde47 Print routing statistics as unsigned short rather than unsigned int,
otherwise sign extension leads to unlikely values when in the negative
range of the signed short structure fields that hold the statistics.
The type used to hold routing statistics is arguably also incorrect.

MFC after:	3 days
2009-10-15 10:31:24 +00:00
Jaakko Heinonen
c2dbb0de27 - Catch SIGHUP to perform cleanup before exiting.
- Exit if getch() returns with an error other than EINTR. Otherwise
  systat(1) may get stuck in an infinite loop if it doesn't receive
  SIGHUP when terminal closes. [1]
- Remove attempt to clear stdio error indicators. getch() doesn't use
  stdio, making it useless. [2]
- Remove unneeded masking of getch() return value. [2]

PR:		bin/107171
Reviewed by:	bde
Approved by:	trasz (mentor)
Obtained from:	OpenBSD [1]
Suggested by:	bde [2]
MFC after:	1 month
2009-10-11 12:32:25 +00:00
Edwin Groothuis
dec5a150d1 Add the comment "(FreeBSD only)" to the altmonth_x keywords
MFC after:	1 week
2009-10-07 21:14:45 +00:00
Benedict Reuschling
ee06ebdf46 Belatedly add my calendar entry.
Discussed with:     remko
Approved by:        remko, jkois (mentor)
2009-10-05 19:29:49 +00:00