From 64162efebdf86d50cca58f696663379eb8ed0db9 Mon Sep 17 00:00:00 2001 From: Wilson Snyder Date: Sun, 1 Nov 2015 08:14:18 -0500 Subject: [PATCH] Fix commit 379bfd06, crash in commandArgsPlusMatch --- include/verilated.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/include/verilated.cpp b/include/verilated.cpp index 0b7240aa0..85e373395 100644 --- a/include/verilated.cpp +++ b/include/verilated.cpp @@ -1151,8 +1151,12 @@ void Verilated::commandArgs(int argc, const char** argv) { } const char* Verilated::commandArgsPlusMatch(const char* prefixp) { - const char* strp = vl_mc_scan_plusargs(prefixp); - return strp ? strp : ""; // Backward compatible interface, "" for no match + const string& match = VerilatedImp::argPlusMatch(prefixp); + static VL_THREAD char outstr[VL_VALUE_STRING_MAX_WIDTH]; + if (match == "") return ""; + strncpy(outstr, match.c_str(), VL_VALUE_STRING_MAX_WIDTH); + outstr[VL_VALUE_STRING_MAX_WIDTH-1] = '\0'; + return outstr; } void Verilated::internalsDump() {