ash: read $HOME/.profile instead of $(pwd)/.profile
ash --login should read ~/.profile instead of .profile in the current directory. I noticed it while trying to figure out why /root/.profile is only read sometimes. function old new delta ash_main 1374 1398 +24 Signed-off-by: Stefan Hellermann <stefan@the2masters.de> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
aeb717aa5e
commit
4ef1439c59
11
shell/ash.c
11
shell/ash.c
@ -13194,11 +13194,18 @@ int ash_main(int argc UNUSED_PARAM, char **argv)
|
||||
if (argv[0] && argv[0][0] == '-')
|
||||
isloginsh = 1;
|
||||
if (isloginsh) {
|
||||
const char *hp;
|
||||
|
||||
state = 1;
|
||||
read_profile("/etc/profile");
|
||||
state1:
|
||||
state = 2;
|
||||
read_profile(".profile");
|
||||
hp = lookupvar("HOME");
|
||||
if (hp) {
|
||||
hp = concat_path_file(hp, ".profile");
|
||||
read_profile(hp);
|
||||
free((char*)hp);
|
||||
}
|
||||
}
|
||||
state2:
|
||||
state = 3;
|
||||
@ -13232,7 +13239,7 @@ int ash_main(int argc UNUSED_PARAM, char **argv)
|
||||
const char *hp = lookupvar("HISTFILE");
|
||||
if (!hp) {
|
||||
hp = lookupvar("HOME");
|
||||
if(hp) {
|
||||
if (hp) {
|
||||
hp = concat_path_file(hp, ".ash_history");
|
||||
setvar("HISTFILE", hp, 0);
|
||||
free((char*)hp);
|
||||
|
Loading…
Reference in New Issue
Block a user