diff options
-rw-r--r-- | shell/ash.c | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/shell/ash.c b/shell/ash.c index 0b5111a39..5f09fd474 100644 --- a/shell/ash.c +++ b/shell/ash.c | |||
@@ -13191,19 +13191,6 @@ int ash_main(int argc UNUSED_PARAM, char **argv) | |||
13191 | setstackmark(&smark); | 13191 | setstackmark(&smark); |
13192 | procargs(argv); | 13192 | procargs(argv); |
13193 | 13193 | ||
13194 | #if ENABLE_FEATURE_EDITING_SAVEHISTORY | ||
13195 | if (iflag) { | ||
13196 | const char *hp = lookupvar("HISTFILE"); | ||
13197 | if (!hp) { | ||
13198 | hp = lookupvar("HOME"); | ||
13199 | if (hp) { | ||
13200 | char *defhp = concat_path_file(hp, ".ash_history"); | ||
13201 | setvar("HISTFILE", defhp, 0); | ||
13202 | free(defhp); | ||
13203 | } | ||
13204 | } | ||
13205 | } | ||
13206 | #endif | ||
13207 | if (argv[0] && argv[0][0] == '-') | 13194 | if (argv[0] && argv[0][0] == '-') |
13208 | isloginsh = 1; | 13195 | isloginsh = 1; |
13209 | if (isloginsh) { | 13196 | if (isloginsh) { |
@@ -13243,6 +13230,15 @@ int ash_main(int argc UNUSED_PARAM, char **argv) | |||
13243 | #if MAX_HISTORY > 0 && ENABLE_FEATURE_EDITING_SAVEHISTORY | 13230 | #if MAX_HISTORY > 0 && ENABLE_FEATURE_EDITING_SAVEHISTORY |
13244 | if (iflag) { | 13231 | if (iflag) { |
13245 | const char *hp = lookupvar("HISTFILE"); | 13232 | const char *hp = lookupvar("HISTFILE"); |
13233 | if (!hp) { | ||
13234 | hp = lookupvar("HOME"); | ||
13235 | if(hp) { | ||
13236 | hp = concat_path_file(hp, ".ash_history"); | ||
13237 | setvar("HISTFILE", hp, 0); | ||
13238 | free((char*)hp); | ||
13239 | hp = lookupvar("HISTFILE"); | ||
13240 | } | ||
13241 | } | ||
13246 | if (hp) | 13242 | if (hp) |
13247 | line_input_state->hist_file = hp; | 13243 | line_input_state->hist_file = hp; |
13248 | # if ENABLE_FEATURE_SH_HISTFILESIZE | 13244 | # if ENABLE_FEATURE_SH_HISTFILESIZE |