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.

Signed-off-by: Stefan Hellermann <ste...@the2masters.de>

---
Version 2:
- only read .profile if $HOME is set, otherwise skip

diff --git a/shell/ash.c b/shell/ash.c
index 7c91a77..6823514 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -13198,7 +13198,13 @@ int ash_main(int argc UNUSED_PARAM, char **argv)
                read_profile("/etc/profile");
  state1:
                state = 2;
-               read_profile(".profile");
+
+               const char *hp = lookupvar("HOME");
+               if(hp) {
+                       hp = concat_path_file(hp, ".profile");
+                       read_profile(hp);
+                       free(hp);
+               }
        }
  state2:
        state = 3;
_______________________________________________
busybox mailing list
busybox@busybox.net
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to