summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Roth <mroth@nessie.de>2009-10-26 14:01:42 +0100
committerDavid Brownell <dbrownell@users.sourceforge.net>2009-10-26 11:14:08 -0700
commit592e021543353e6ef2814713f0a1412e4119710a (patch)
tree8284a3221c04847a72b01b156d41abaa2a8a6013
parent6cb1d10cdad509939e3decf089e08c289d85d5cf (diff)
downloadopenocd+libswd-592e021543353e6ef2814713f0a1412e4119710a.tar.gz
openocd+libswd-592e021543353e6ef2814713f0a1412e4119710a.tar.bz2
openocd+libswd-592e021543353e6ef2814713f0a1412e4119710a.tar.xz
openocd+libswd-592e021543353e6ef2814713f0a1412e4119710a.zip
SVF: fix parsing hex strings containing leading '0' characters
Ignore leading '0' characters on hex strings. For example a bit pattern consisting of 6 bits could be written as 3f, 03f or 003f and so on. Signed-off-by: Michael Roth <mroth@nessie.de> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
-rw-r--r--src/svf/svf.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/svf/svf.c b/src/svf/svf.c
index dec4b19f..276a374e 100644
--- a/src/svf/svf.c
+++ b/src/svf/svf.c
@@ -680,6 +680,10 @@ static int svf_copy_hexstring_to_binary(char *str, uint8_t **bin, int orig_bit_l
}
}
+ // consume optional leading '0' characters
+ while (str_len > 0 && str[str_len - 1] == '0')
+ str_len--;
+
// check valid
if (str_len > 0 || (ch & ~((1 << (4 - (bit_len % 4))) - 1)) != 0)
{