hwconfig: Fix stop characters parsing for subkeys
authorAnton Vorontsov <avorontsov@mvista.com>
Fri, 18 Jun 2010 11:08:12 +0000 (15:08 +0400)
committerWolfgang Denk <wd@denx.de>
Tue, 29 Jun 2010 20:24:11 +0000 (22:24 +0200)
commit81f8d3b021ac9e567f06b44d7eb95f1a1409428d
tree231b844bdc96ce45127fa3e7c299e88daaeaf885
parente365c43d6aa69b544a8f81d68596e89e9a3d6fa8
hwconfig: Fix stop characters parsing for subkeys

For the following hwconfig string:

  key1:subkey1=value1,subkey2=value2;key2:value3

The subkey2 cannot be extracted correctly. The parsing code looks
for comma as a stopch, but there may be two kind of stop characters:
a comma and a semicolon.

Currently the code would return "value2;key2:value3", while just
"value2" is the correct answer.

This patch fixes the issue by making the code aware of multiple
stop characters.

For old U-Boots, the issue can be workarounded by placing a comma
before a semicolon, i.e.:

  hwconfig=key1:subkey1=value1,subkey2=value2,;key2:value3

Reported-by: York Sun <yorksun@freescale.com>
Signed-off-by: Anton Vorontsov <avorontsov@mvista.com>
common/hwconfig.c