aboutsummaryrefslogtreecommitdiffstats
path: root/icetime/icetime.cc
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2018-02-28 16:13:12 +0100
committerGitHub <noreply@github.com>2018-02-28 16:13:12 +0100
commit535fde63613eccfeb7e5aad8ff97fbfb652a33b6 (patch)
tree9ddc0c6adbcca2d4487799f071853e88cabc015a /icetime/icetime.cc
parent54511ff50852632fd3cdfe63757a2e1090ac7460 (diff)
parentc1d7ef8b529953bb38f575930eca662d714385ab (diff)
downloadicestorm-535fde63613eccfeb7e5aad8ff97fbfb652a33b6.tar.gz
icestorm-535fde63613eccfeb7e5aad8ff97fbfb652a33b6.tar.bz2
icestorm-535fde63613eccfeb7e5aad8ff97fbfb652a33b6.zip
Merge pull request #129 from daveshah1/icetime_ufix
Fix handling of a port name like CLKHF_FABRIC in icetime
Diffstat (limited to 'icetime/icetime.cc')
-rw-r--r--icetime/icetime.cc14
1 files changed, 10 insertions, 4 deletions
diff --git a/icetime/icetime.cc b/icetime/icetime.cc
index 9caf82b..0b7cea2 100644
--- a/icetime/icetime.cc
+++ b/icetime/icetime.cc
@@ -1283,12 +1283,18 @@ std::string ecnetname_to_vlog(std::string ec_name)
std::string end = ec_name.substr(last_+1);
size_t nidx = 0;
- int num = std::stoi(end, &nidx, 10);
- if(nidx == end.length()) {
- return base + "[" + std::to_string(num) + "]";
- } else {
+ int num = 0;
+ try {
+ num = std::stoi(end, &nidx, 10);
+ if(nidx == end.length()) {
+ return base + "[" + std::to_string(num) + "]";
+ } else {
+ return ec_name;
+ }
+ } catch(std::invalid_argument e) { // Not numeric and stoi throws exception
return ec_name;
}
+
}
std::string make_dsp_ip(int x, int y, std::string net, std::string &primnet)