diff --git a/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFImporter.cc b/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFImporter.cc index 55a4e7ecc..856ab51fe 100644 --- a/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFImporter.cc +++ b/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFImporter.cc @@ -661,33 +661,41 @@ LEFDEFImporter::create_generated_via (std::vector &bottom, for (int r = 0; r < rows; ++r) { - if (rp == 0 && *p) { + if (rp == 0) { - // read a new row specification - rp = 0; - while (*p && is_hex_digit (*p)) { - rp = (rp * 16) + hex_value (*p++); - } - if (*p == '_') { - ++p; - } - - p0 = p; if (*p) { - while (*p && (is_hex_digit (*p) || toupper (*p) == 'R')) { + + // read a new row specification + rp = 0; + while (*p && is_hex_digit (*p)) { + rp = (rp * 16) + hex_value (*p++); + } + if (*p == '_') { ++p; } - } - p1 = p; - if (*p == '_') { - ++p; + + p0 = p; + if (*p) { + while (*p && (is_hex_digit (*p) || toupper (*p) == 'R')) { + ++p; + } + } + p1 = p; + if (*p == '_') { + ++p; + } + + } else { + rp = -1; } } - if (rp > 0) { + if (rp != 0) { - --rp; + if (rp > 0) { + --rp; + } const char *pp = p0; unsigned int d = 0;