]> sigrok.org Git - libsigrok.git/blobdiff - src/input/vcd.c
input/vcd: unbreak U and - values for single bit input data
[libsigrok.git] / src / input / vcd.c
index e1224be0db1eefd164557936696e2b6a713d51a4..59015055e5e600c69deb4c6b6377d63308afddc8 100644 (file)
@@ -1235,6 +1235,8 @@ static uint8_t vcd_char_to_value(char bit_char, int *warn)
                return 0;
        if (bit_char == 'u')
                return 0;
+       if (bit_char == '-')
+               return 0;
 
        /* Unhandled input text. */
        return ~0;
@@ -1449,7 +1451,9 @@ static int parse_textline(const struct sr_input *in, char *lines)
                is_real = curr_first == 'r' && curr_word[1];
                is_multibit = curr_first == 'b' && curr_word[1];
                is_singlebit = curr_first == '0' || curr_first == '1';
+               is_singlebit |= curr_first == 'l' || curr_first == 'h';
                is_singlebit |= curr_first == 'x' || curr_first == 'z';
+               is_singlebit |= curr_first == 'u' || curr_first == '-';
                if (is_real) {
                        char *real_text;
                        float real_val;