No need to bail out on vectors. As long as there are tokens left, we can
try to parse the rest. Also, print a message so the user knows what's
going on. Here is a testcase vcd:

$timescale 1 ns $end
$var wire 1 n0 addr_0 $end
$var wire 1 n1 addr_1 $end
$enddefinitions $end
#0
0n0
b1 n1
#1
1n0
b0 n1
#2
0n0
b1 n1

Signed-off-by: Wolfram Sang <w...@the-dreams.de>
---
 src/input/vcd.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/input/vcd.c b/src/input/vcd.c
index 0830d7d..6752345 100644
--- a/src/input/vcd.c
+++ b/src/input/vcd.c
@@ -407,8 +407,13 @@ static void parse_contents(const struct sr_input *in, char 
*data)
                                break;
                        }
                } else if (strchr("bBrR", tokens[i][0]) != NULL) {
-                       /* A vector value, not supported yet. */
-                       break;
+                       sr_dbg("Vector values not supported yet");
+                       if (!tokens[++i])
+                               /* No tokens left, bail out */
+                               break;
+                       else
+                               /* Process next token */
+                               continue;
                } else if (strchr("01xXzZ", tokens[i][0]) != NULL) {
                        /* A new 1-bit sample value */
                        bit = (tokens[i][0] == '1');
-- 
2.1.4


------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
_______________________________________________
sigrok-devel mailing list
sigrok-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sigrok-devel

Reply via email to