Fixed BLIF parser for empty port assignments
authorClifford Wolf <clifford@clifford.at>
Wed, 24 Feb 2016 08:16:43 +0000 (09:16 +0100)
committerClifford Wolf <clifford@clifford.at>
Wed, 24 Feb 2016 08:16:43 +0000 (09:16 +0100)
frontends/blif/blifparse.cc

index 2029584960d14311be6a9c754079a6b03bcfca06..ee0e771e917a2cbfbd70a3a990758acef6e7459b 100644 (file)
@@ -267,10 +267,10 @@ void parse_blif(RTLIL::Design *design, std::istream &f, std::string dff_name, bo
 
                                while ((p = strtok(NULL, " \t\r\n")) != NULL) {
                                        char *q = strchr(p, '=');
-                                       if (q == NULL || !q[0] || !q[1])
+                                       if (q == NULL || !q[0])
                                                goto error;
                                        *(q++) = 0;
-                                       cell->setPort(RTLIL::escape_id(p), blif_wire(q));
+                                       cell->setPort(RTLIL::escape_id(p), *q ? blif_wire(q) : SigSpec());
                                }
 
                                obj_attributes = &cell->attributes;