diff options
author | dumbbell <dumbbell@FreeBSD.org> | 2012-01-16 11:07:46 +0000 |
---|---|---|
committer | dumbbell <dumbbell@FreeBSD.org> | 2012-01-16 11:07:46 +0000 |
commit | 8b387a2d35f960b0b880a2b1863250d6a9b4d692 (patch) | |
tree | 5791a3a058bf56e166a4607a77c3912f992892ea /bin/sh/eval.c | |
parent | 4e22d62dd60e215d56c8fe89a74171b4c90d3f2e (diff) | |
download | FreeBSD-src-8b387a2d35f960b0b880a2b1863250d6a9b4d692.zip FreeBSD-src-8b387a2d35f960b0b880a2b1863250d6a9b4d692.tar.gz |
sh: Fix execution of multiple statements in a trap when evalskip is set
Before this fix, only the first statement of the trap was executed if
evalskip was set. This is for example the case when:
o "-e" is set for this shell
o a trap is set on EXIT
o a function returns 1 and causes the script to abort
Reviewed by: jilles
MFC after: 2 weeks
Diffstat (limited to 'bin/sh/eval.c')
-rw-r--r-- | bin/sh/eval.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/bin/sh/eval.c b/bin/sh/eval.c index ea23a9d..f4f69d9 100644 --- a/bin/sh/eval.c +++ b/bin/sh/eval.c @@ -75,7 +75,7 @@ __FBSDID("$FreeBSD$"); int evalskip; /* set if we are skipping commands */ -static int skipcount; /* number of levels to skip */ +int skipcount; /* number of levels to skip */ MKINIT int loopnest; /* current loop nesting level */ int funcnest; /* depth of function calls */ static int builtin_flags; /* evalcommand flags for builtins */ |