aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--shell/ash.c12
-rw-r--r--shell/hush.c8
2 files changed, 10 insertions, 10 deletions
diff --git a/shell/ash.c b/shell/ash.c
index 2bdb4aad7..91bcccb9d 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -11373,13 +11373,13 @@ readtoken1(int c, int syntax, char *eofmark, int striptabs)
smallint quotef;
smallint dblquote;
smallint oldstyle;
- smallint prevsyntax; /* syntax before arithmetic */
+ IF_SH_MATH_SUPPORT(smallint prevsyntax;) /* syntax before arithmetic */
#if ENABLE_ASH_EXPAND_PRMT
smallint pssyntax; /* we are expanding a prompt string */
#endif
int varnest; /* levels of variables expansion */
- int arinest; /* levels of arithmetic expansion */
- int parenlevel; /* levels of parens in arithmetic */
+ IF_SH_MATH_SUPPORT(int arinest;) /* levels of arithmetic expansion */
+ IF_SH_MATH_SUPPORT(int parenlevel;) /* levels of parens in arithmetic */
int dqvarnest; /* levels of variables expansion within double quotes */
IF_ASH_BASH_COMPAT(smallint bash_dollar_squote = 0;)
@@ -11387,7 +11387,7 @@ readtoken1(int c, int syntax, char *eofmark, int striptabs)
startlinno = g_parsefile->linno;
bqlist = NULL;
quotef = 0;
- prevsyntax = 0;
+ IF_SH_MATH_SUPPORT(prevsyntax = 0;)
#if ENABLE_ASH_EXPAND_PRMT
pssyntax = (syntax == PSSYNTAX);
if (pssyntax)
@@ -11395,8 +11395,8 @@ readtoken1(int c, int syntax, char *eofmark, int striptabs)
#endif
dblquote = (syntax == DQSYNTAX);
varnest = 0;
- arinest = 0;
- parenlevel = 0;
+ IF_SH_MATH_SUPPORT(arinest = 0;)
+ IF_SH_MATH_SUPPORT(parenlevel = 0;)
dqvarnest = 0;
STARTSTACKSTR(out);
diff --git a/shell/hush.c b/shell/hush.c
index bcd4dffee..888be6e6e 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -1574,9 +1574,8 @@ static sighandler_t install_sighandler(int sig, sighandler_t handler)
}
static void hush_exit(int exitcode) NORETURN;
-static void fflush_and__exit(void) NORETURN;
-static void restore_ttypgrp_and__exit(void) NORETURN;
+static void restore_ttypgrp_and__exit(void) NORETURN;
static void restore_ttypgrp_and__exit(void)
{
/* xfunc has failed! die die die */
@@ -1585,6 +1584,8 @@ static void restore_ttypgrp_and__exit(void)
hush_exit(xfunc_error_retval);
}
+#if ENABLE_HUSH_JOB
+
/* Needed only on some libc:
* It was observed that on exit(), fgetc'ed buffered data
* gets "unwound" via lseek(fd, -NUM, SEEK_CUR).
@@ -1598,14 +1599,13 @@ static void restore_ttypgrp_and__exit(void)
* and in `cmd` handling.
* If set as die_func(), this makes xfunc_die() exit via _exit(), not exit():
*/
+static void fflush_and__exit(void) NORETURN;
static void fflush_and__exit(void)
{
fflush_all();
_exit(xfunc_error_retval);
}
-#if ENABLE_HUSH_JOB
-
/* After [v]fork, in child: do not restore tty pgrp on xfunc death */
# define disable_restore_tty_pgrp_on_exit() (die_func = fflush_and__exit)
/* After [v]fork, in parent: restore tty pgrp on xfunc death */