Revision tags: release/9.0.0 |
|
#
935205e2 |
| 17-Jul-2011 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
Integrate from Head into ZFSD feature branch as of revision r224141.
|
#
a5615c90 |
| 28-Jun-2011 |
Peter Grehan <grehan@FreeBSD.org> |
IFC @ r222830
|
#
49f5aeaf |
| 15-Jun-2011 |
Attilio Rao <attilio@FreeBSD.org> |
MFC
|
#
454a02b3 |
| 13-Jun-2011 |
Jilles Tjoelker <jilles@FreeBSD.org> |
sh: Fix duplicate prototypes for builtins.
Have mkbuiltins write the prototypes for the *cmd functions to builtins.h instead of builtins.c and include builtins.h in more .c files instead of duplicat
sh: Fix duplicate prototypes for builtins.
Have mkbuiltins write the prototypes for the *cmd functions to builtins.h instead of builtins.c and include builtins.h in more .c files instead of duplicating prototypes for *cmd functions in other headers.
show more ...
|
Revision tags: release/7.4.0_cvs, release/8.2.0_cvs, release/7.4.0, release/8.2.0 |
|
#
3835f47c |
| 04-Feb-2011 |
Jilles Tjoelker <jilles@FreeBSD.org> |
sh: Remove special code for shell scripts without magic number.
These are called "shell procedures" in the source.
If execve() failed with [ENOEXEC], the shell would reinitialize itself and execute
sh: Remove special code for shell scripts without magic number.
These are called "shell procedures" in the source.
If execve() failed with [ENOEXEC], the shell would reinitialize itself and execute the program as a script. This requires a fair amount of code which is not frequently used (most scripts have a #! magic number). Therefore just execute a new instance of sh (_PATH_BSHELL) to run the script.
show more ...
|
#
12dacf62 |
| 04-Feb-2011 |
Jilles Tjoelker <jilles@FreeBSD.org> |
Make sys_signame upper case.
This matches the constants from <signal.h> with 'SIG' removed, which POSIX requires kill and trap to accept and 'kill -l' to write.
'kill -l', 'trap', 'trap -l' output
Make sys_signame upper case.
This matches the constants from <signal.h> with 'SIG' removed, which POSIX requires kill and trap to accept and 'kill -l' to write.
'kill -l', 'trap', 'trap -l' output is now upper case.
In Turkish locales, signal names with an upper case 'I' are now accepted, while signal names with a lower case 'i' are no longer accepted, and the output of 'killall -l' now contains proper capital 'I' without dot instead of a dotted capital 'I'.
show more ...
|
#
ebdfd6dc |
| 16-Jan-2011 |
Jilles Tjoelker <jilles@FreeBSD.org> |
sh: If exit is used without args from a trap action, exit on the signal.
This is useful so that it is easier to exit on a signal than to reset the trap to default and resend the signal. It matches k
sh: If exit is used without args from a trap action, exit on the signal.
This is useful so that it is easier to exit on a signal than to reset the trap to default and resend the signal. It matches ksh93. POSIX says that 'exit' without args from a trap action uses the exit status from the last command before the trap, which is different from 'exit $?' and matches this if the previous command is assumed to have exited on the signal.
If the signal is SIGSTOP, SIGTSTP, SIGTTIN or SIGTTOU, or if the default action for the signal is to ignore it, a normal _exit(2) is done with exit status 128+signal_number.
show more ...
|
#
a043cc4c |
| 15-Jan-2011 |
Jilles Tjoelker <jilles@FreeBSD.org> |
sh: Fix some things about -- in trap: * Make 'trap --' do the same as 'trap' instead of nothing. * Make '--' stop option processing (note that '-' action is not an option).
Side effect: The error me
sh: Fix some things about -- in trap: * Make 'trap --' do the same as 'trap' instead of nothing. * Make '--' stop option processing (note that '-' action is not an option).
Side effect: The error message for an unknown option is different.
show more ...
|
#
45b3c176 |
| 14-Jan-2011 |
Jilles Tjoelker <jilles@FreeBSD.org> |
sh: Make 'trap -l' look like 'kill -l'.
|
#
70df11ea |
| 09-Jan-2011 |
Jilles Tjoelker <jilles@FreeBSD.org> |
sh: Make exit without parameters from EXIT trap POSIX-compliant.
It should use the original exit status, just like falling off the end of the trap handler.
Outside an EXIT trap, 'exit' is still equ
sh: Make exit without parameters from EXIT trap POSIX-compliant.
It should use the original exit status, just like falling off the end of the trap handler.
Outside an EXIT trap, 'exit' is still equivalent to 'exit $?'.
show more ...
|
#
5fe9123f |
| 21-Dec-2010 |
Jilles Tjoelker <jilles@FreeBSD.org> |
sh: Add a function to print warnings (with command name and newline). This is like error() but without raising an exception. It is particularly useful as a replacement for the warnx macro in bltin/bl
sh: Add a function to print warnings (with command name and newline). This is like error() but without raising an exception. It is particularly useful as a replacement for the warnx macro in bltin/bltin.h.
show more ...
|
#
88328642 |
| 14-Oct-2010 |
David E. O'Brien <obrien@FreeBSD.org> |
In the spirit of r90111, depend on c89 and remove the "STATIC" macro and its usage.
|
#
aa7b6f82 |
| 13-Oct-2010 |
David E. O'Brien <obrien@FreeBSD.org> |
Consistently use "STATIC" for all functions in order to be able to set breakpoints with in a debugger. And use naked "static" for variables.
Noticed by: bde
|
Revision tags: release/8.1.0_cvs, release/8.1.0, release/7.3.0_cvs, release/7.3.0 |
|
#
1a0fda2b |
| 04-Mar-2010 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
IFH@204581
|
#
9199c09a |
| 06-Jan-2010 |
Warner Losh <imp@FreeBSD.org> |
Merge from head at r201628.
# This hasn't been tested, and there are at least three bad commits # that need to be backed out before the branch will be stable again.
|
#
e3c2cd72 |
| 21-Nov-2009 |
Jilles Tjoelker <jilles@FreeBSD.org> |
trap: do not consider a bad signal name a fatal error. POSIX explicitly prescribes this. Continue processing any other signals and return status 1.
|
Revision tags: release/8.0.0_cvs, release/8.0.0 |
|
#
3f228d74 |
| 12-Nov-2009 |
Jilles Tjoelker <jilles@FreeBSD.org> |
sh: Use sigaction instead of signal/siginterrupt combination.
|
#
10b3b545 |
| 17-Sep-2009 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Merge from head
|
#
09c817ba |
| 03-Jul-2009 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
- MFC
|
#
6e28dacf |
| 13-Jun-2009 |
Jilles Tjoelker <jilles@FreeBSD.org> |
Don't skip forking for an external command if any traps are active.
Example: sh -c '(trap "echo trapped" EXIT; sleep 3)' now correctly prints "trapped".
With this check, it is no longer necessary
Don't skip forking for an external command if any traps are active.
Example: sh -c '(trap "echo trapped" EXIT; sleep 3)' now correctly prints "trapped".
With this check, it is no longer necessary to check for -T explicitly in that case.
This is a useful bugfix by itself and also important because I plan to skip forking more often.
PR: bin/113860 (part of) PR: bin/74404 (part of) Reviewed by: stefanf Approved by: ed (mentor)
show more ...
|
#
7e857dd1 |
| 12-Jun-2009 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
- Merge from HEAD
|
#
cb806389 |
| 31-May-2009 |
Stefan Farfeleder <stefanf@FreeBSD.org> |
Fix the eval command in combination with set -e. Before this change the shell would always terminate if eval returned with a non-zero exit status regardless if the status was actually tested. Unfor
Fix the eval command in combination with set -e. Before this change the shell would always terminate if eval returned with a non-zero exit status regardless if the status was actually tested. Unfortunately a new file-scope variable is needed, the alternative would only be to add a new parameter to all built-ins.
PR: 134881
show more ...
|
Revision tags: release/7.2.0_cvs, release/7.2.0, release/7.1.0_cvs, release/7.1.0, release/6.4.0_cvs, release/6.4.0, release/7.0.0_cvs, release/7.0.0, release/6.3.0_cvs, release/6.3.0, release/6.2.0_cvs, release/6.2.0, release/5.5.0_cvs, release/5.5.0, release/6.1.0_cvs, release/6.1.0 |
|
#
00d02f94 |
| 17-Apr-2006 |
Jens Schweikhardt <schweikh@FreeBSD.org> |
Whitespace nits.
|
#
2a5e306d |
| 08-Dec-2005 |
Stefan Farfeleder <stefanf@FreeBSD.org> |
Correctly quote the output when showing the installed trap actions.
PR: 74043 Submitted by: Jilles Tjoelker
|
Revision tags: release/6.0.0_cvs, release/6.0.0 |
|
#
f7d95a07 |
| 06-Sep-2005 |
Ralf S. Engelschall <rse@FreeBSD.org> |
Various small code cleanups resulting from a code reviewing and linting procedure:
1. Remove useless sub-expression:
- if (*start || (!ifsspc && start > string && (nulonly || 1))) { + if (*st
Various small code cleanups resulting from a code reviewing and linting procedure:
1. Remove useless sub-expression:
- if (*start || (!ifsspc && start > string && (nulonly || 1))) { + if (*start || (!ifsspc && start > string)) {
The sub-expression "(nulonly || 1)" always evaluates to true and according to CVS logs seems to be just a left-over from some debugging and introduced by accident. Removing the sub-expression doesn't change semantics and a code inspection showed that the variable "nulonly" is also not necessary here in any way (and the expression would require fixing instead of removing).
2. Remove dead code:
- if (backslash && c == '\\') { - if (read(STDIN_FILENO, &c, 1) != 1) { - status = 1; - break; - } - STPUTC(c, p); - } else if (ap[1] != NULL && strchr(ifs, c) != NULL) { + if (ap[1] != NULL && strchr(ifs, c) != NULL) {
Inspection of the control and data flow showed that variable "backslash" is always false (0) when the "if"-expression is evaluated, hence the whole block is effectively dead code. Additionally, the skipping of characters after a backslash is already performed correctly a few lines above, so this code is also not needed at all. According to the CVS logs and the ASH 0.2 sources, this code existed in this way already since its early days.
3. Cleanup Style:
- ! trap[signo][0] == '\0' && + ! (trap[signo][0] == '\0') &&
The expression wants to ensure the trap is not assigned the empty string. But the "!" operator has higher precedence than "==", so the comparison should be put into parenthesis to form the intended way of expression. Nevertheless the code was effectively not really broken as both particular NUL comparisons are semantically equal, of course. But the parenthesized version is a lot more intuitive.
4. Remove shadowing variable declaration:
- char *q;
The declaration of symbol "q" hides another identical declaration of "q" in the same context. As the other "q" is already reused multiple times and also can be reused again without negative side-effects, just remove the shadowing declaration.
5. Just small cosmetics:
- if (ifsset() != 0) + if (ifsset())
The ifsset() macro is already coded by returning the boolean result of a comparison operator, so no need to compare this boolean result again against a numerical value. This also aligns the macros usage to the remaining existing code.
Reviewed by: stefanf@
show more ...
|