On Mon, Jul 09, 2018 at 07:16:28PM +0200, Quentin Schulz wrote:

> When vars are passed to the himport_r function with H_NOCLEAR flag,
> those vars will be overridden in the current environment and if one of
> those vars is not in the imported environment, it'll be deleted in the
> current environment whatever the flag passed to himport_r.
> 
> The H_NOCLEAR flag is used to clear the whole environment whether vars
> are passed to the function or not.
> 
> This leads to incoherent behaviour. If one passes vars to himport_r
> with the H_NOCLEAR flag, if a var in vars is not in the imported env,
> that var will be removed from the current env.
> 
> If one passes vars to himport_r without the H_NOCLEAR flag, the whole
> environment will be removed and vars will be imported from the
> environment in RAM.
> 
> It makes more sense to keep the variable that is in the current
> environment but not in the imported environment if the H_NOCLEAR flag is
> set and remove only that variable if the H_NOCLEAR flag is not set.
> 
> Let's clear the whole environment only if H_NOCLEAR and vars are not
> passed to himport_r.
> 
> Let's remove variables that are in the current environment but not in
> the imported env only if the H_NOCLEAR flag is not passed.
> 
> Suggested-by: Wolfgang Denk <[email protected]>
> Signed-off-by: Quentin Schulz <[email protected]>

Applied to u-boot/master, thanks!

-- 
Tom

Attachment: signature.asc
Description: PGP signature

_______________________________________________
U-Boot mailing list
[email protected]
https://lists.denx.de/listinfo/u-boot

Reply via email to