On 06/27/2017 05:53 PM, Denys Vlasenko wrote:
> On Mon, Jun 26, 2017 at 10:11 PM, Tito <[email protected]> wrote:
>> Hi,
>> the attached patch should fix the "ash fails to read $HOME/.profile" bug
>> when ENABLE_ASH_EXPAND_PRMT is not set.
>> Kp could you please test if it fixes your problem when
>> ENABLE_ASH_EXPAND_PRMT is not set?
>>
>> Ciao,
>> Tito
>>
>> --- shell/ash.c.orig 2017-06-25 22:04:07.000000000 +0200
>> +++ shell/ash.c 2017-06-26 22:09:29.245454443 +0200
>> @@ -13629,8 +13629,15 @@ int ash_main(int argc UNUSED_PARAM, char
>> state1:
>> state = 2;
>> hp = lookupvar("HOME");
>> - if (hp)
>> + if (hp) {
>> +#if ENABLE_ASH_EXPAND_PRMT
>> read_profile("$HOME/.profile");
>> +#else
>> + hp = concat_path_file(hp, ".profile");
>> + read_profile(hp);
>> + free((char*)hp);
>> +#endif
>> + }
>> }
>> state2:
>> state = 3;
>>
>
> I think expandstr() should be made independent of ASH_EXPAND_PRMT.
>
Hi Denys,
the fix you committed doesn't seem to work.
If you put a few debug statements in read_profile
static void
read_profile(const char *name)
{
+ ash_msg("ENABLE_ASH_EXPAND_PRMT is %sset", ENABLE_ASH_EXPAND_PRMT ? ""
: "not ");
+ ash_msg("%s", name); /* Tito */
name = expandstr(name);
+ ash_msg("%s", name); /* Tito */
you will notice that when CONFIG_ASH_EXPAND_PRMT is not set
$HOME is not expanded and ~/.profile is not read:
WITH CONFIG_ASH_EXPAND_PRMT
-ash: ENABLE_ASH_EXPAND_PRMT is set
-ash: /etc/profile
-ash: /etc/profile
-ash: ENABLE_ASH_EXPAND_PRMT is set
-ash: $HOME/.profile
-ash: /root/.profile
WITHOUT CONFIG_ASH_EXPAND_PRMT
-ash: ENABLE_ASH_EXPAND_PRMT is not set
-ash: /etc/profile
-ash: /etc/profile
-ash: ENABLE_ASH_EXPAND_PRMT is not set
-ash: $HOME/.profile
-ash: $HOME/.profile
Ciao,
Tito
_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox