summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChet Ramey <chet.ramey@case.edu>2017-01-20 15:38:10 -0500
committerChet Ramey <chet.ramey@case.edu>2017-01-20 15:38:10 -0500
commitb9f81c2977b82490cd4dc70b0bb292bfbf86bd2c (patch)
tree0bf773f5a1813d77958536482dc4f83c6c666ce3
parent4f747edc625815f449048579f6e65869914dd715 (diff)
downloadbash-b9f81c2977b82490cd4dc70b0bb292bfbf86bd2c.tar.gz
Bash-4.4 patch 8
-rw-r--r--expr.c15
-rw-r--r--patchlevel.h2
2 files changed, 10 insertions, 7 deletions
diff --git a/expr.c b/expr.c
index 1ddb693c..172964a2 100644
--- a/expr.c
+++ b/expr.c
@@ -578,24 +578,23 @@ expcond ()
rval = cval = explor ();
if (curtok == QUES) /* found conditional expr */
{
- readtok ();
- if (curtok == 0 || curtok == COL)
- evalerror (_("expression expected"));
if (cval == 0)
{
set_noeval = 1;
noeval++;
}
+ readtok ();
+ if (curtok == 0 || curtok == COL)
+ evalerror (_("expression expected"));
+
val1 = EXP_HIGHEST ();
if (set_noeval)
noeval--;
if (curtok != COL)
evalerror (_("`:' expected for conditional expression"));
- readtok ();
- if (curtok == 0)
- evalerror (_("expression expected"));
+
set_noeval = 0;
if (cval)
{
@@ -603,7 +602,11 @@ expcond ()
noeval++;
}
+ readtok ();
+ if (curtok == 0)
+ evalerror (_("expression expected"));
val2 = expcond ();
+
if (set_noeval)
noeval--;
rval = cval ? val1 : val2;
diff --git a/patchlevel.h b/patchlevel.h
index deb9c5b7..16c87404 100644
--- a/patchlevel.h
+++ b/patchlevel.h
@@ -25,6 +25,6 @@
regexp `^#define[ ]*PATCHLEVEL', since that's what support/mkversion.sh
looks for to find the patch level (for the sccs version string). */
-#define PATCHLEVEL 7
+#define PATCHLEVEL 8
#endif /* _PATCHLEVEL_H_ */