diff options
author | Michael Roth <mroth@nessie.de> | 2009-10-26 14:01:42 +0100 |
---|---|---|
committer | David Brownell <dbrownell@users.sourceforge.net> | 2009-10-26 11:14:08 -0700 |
commit | 592e021543353e6ef2814713f0a1412e4119710a (patch) | |
tree | 8284a3221c04847a72b01b156d41abaa2a8a6013 /src/svf | |
parent | 6cb1d10cdad509939e3decf089e08c289d85d5cf (diff) | |
download | openocd+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>
Diffstat (limited to 'src/svf')
-rw-r--r-- | src/svf/svf.c | 4 |
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) { |