tools/env: fix redundant env flag comparison
authorJon Povey <jon.povey@racelogic.co.uk>
Fri, 11 Mar 2011 05:10:56 +0000 (14:10 +0900)
committerWolfgang Denk <wd@denx.de>
Wed, 20 Apr 2011 22:25:08 +0000 (00:25 +0200)
commit735eb0f0e66b544b1dfaf6c43ce6e4bd9ae64b5e
tree5e79be38ff31b24fe389d45b082f651682dd9657
parentaef293bc85dad4f8d645e46d723606a747236a60
tools/env: fix redundant env flag comparison

This fixes two bugs with comparison of redundant environment flags on
read.

flag0 and flag1 in fw_env_open() were declared signed instead of
unsigned char breaking BOOLEAN mode "== 0xFF" tests and in INCREMENTAL
mode the wrong environment would be chosen where the flag values are
127 and 128 (either way round). With both flags over 128, both signs
flipped and the logic worked by happy accident.

Also there was a logic bug in the INCREMENTAL test (after signedness was
fixed) in the case flag0=0, flag1=255, env 1 would be incorrectly chosen.

Fix both of these.

Signed-off-by: Jon Povey <jon.povey@racelogic.co.uk>
tools/env/fw_env.c