aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--shell/ash.c4
-rw-r--r--shell/shell_common.c1
-rw-r--r--shell/shell_common.h2
3 files changed, 6 insertions, 1 deletions
diff --git a/shell/ash.c b/shell/ash.c
index 9fd1b55e2..a7c03bbc2 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -1919,7 +1919,7 @@ static const struct {
{ VSTRFIXED|VTEXTFIXED , "PS2=> " , NULL },
{ VSTRFIXED|VTEXTFIXED , "PS4=+ " , NULL },
#if ENABLE_ASH_GETOPTS
- { VSTRFIXED|VTEXTFIXED , "OPTIND=1" , getoptsreset },
+ { VSTRFIXED|VTEXTFIXED , defoptindvar, getoptsreset },
#endif
#if ENABLE_ASH_RANDOM_SUPPORT
{ VSTRFIXED|VTEXTFIXED|VUNSET|VDYNAMIC, "RANDOM", change_random },
@@ -13124,6 +13124,8 @@ init(void)
}
}
+ setvareq((char*)defoptindvar, VTEXTFIXED);
+
setvar0("PPID", utoa(getppid()));
#if ENABLE_ASH_BASH_COMPAT
p = lookupvar("SHLVL");
diff --git a/shell/shell_common.c b/shell/shell_common.c
index 14eeaafcc..98d862744 100644
--- a/shell/shell_common.c
+++ b/shell/shell_common.c
@@ -21,6 +21,7 @@
#include <sys/resource.h> /* getrlimit */
const char defifsvar[] ALIGN1 = "IFS= \t\n";
+const char defoptindvar[] ALIGN1 = "OPTIND=1";
int FAST_FUNC is_well_formed_var_name(const char *s, char terminator)
diff --git a/shell/shell_common.h b/shell/shell_common.h
index 993ed5951..a82535c86 100644
--- a/shell/shell_common.h
+++ b/shell/shell_common.h
@@ -24,6 +24,8 @@ PUSH_AND_SET_FUNCTION_VISIBILITY_TO_HIDDEN
extern const char defifsvar[] ALIGN1; /* "IFS= \t\n" */
#define defifs (defifsvar + 4)
+extern const char defoptindvar[] ALIGN1; /* "OPTIND=1" */
+
int FAST_FUNC is_well_formed_var_name(const char *s, char terminator);
/* Builtins */