diff options
author | Clifford Wolf <clifford@clifford.at> | 2016-06-11 19:07:01 +0200 |
---|---|---|
committer | Clifford Wolf <clifford@clifford.at> | 2016-06-11 19:07:01 +0200 |
commit | d4c0a01f7b74a46da46e77657e6cb5e3cba00aa8 (patch) | |
tree | 2a0f1aae0d9aa87cf7033b312190d54157ef7d76 | |
parent | 857ed8379caf61a2105268c5360780f092ec06aa (diff) | |
download | icestorm-d4c0a01f7b74a46da46e77657e6cb5e3cba00aa8.tar.gz icestorm-d4c0a01f7b74a46da46e77657e6cb5e3cba00aa8.tar.bz2 icestorm-d4c0a01f7b74a46da46e77657e6cb5e3cba00aa8.zip |
Minor icebram improvements
-rw-r--r-- | icebram/icebram.cc | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/icebram/icebram.cc b/icebram/icebram.cc index c0bea32..fbb237b 100644 --- a/icebram/icebram.cc +++ b/icebram/icebram.cc @@ -59,7 +59,7 @@ void parse_hexfile_line(const char *filename, int linenr, vector<vector<bool>> & hexfile.push_back(vector<bool>(digits.size() * 4)); - for (int i = 0; i < digits.size() * 4; i++) + for (int i = 0; i < int(digits.size()) * 4; i++) if ((digits.at(digits.size() - i/4 -1) & (1 << (i%4))) != 0) hexfile.back().at(i) = true; @@ -155,7 +155,7 @@ int main(int argc, char **argv) std::cout << std::endl; } - exit(1); + exit(0); } if (optind+2 != argc) @@ -197,11 +197,14 @@ int main(int argc, char **argv) exit(1); } - for (size_t i = 1; i < to_hexfile.size(); i++) + for (size_t i = 1; i < to_hexfile.size(); i++) { + while (to_hexfile.at(i-1).size() > to_hexfile.at(i).size()) + to_hexfile.at(i).push_back(false); if (to_hexfile.at(i-1).size() != to_hexfile.at(i).size()) { fprintf(stderr, "Inconsistent word width at line %d of %s!\n", int(i+1), to_hexfile_n); exit(1); } + } if (from_hexfile.size() == 0 || from_hexfile.at(0).size() == 0) { fprintf(stderr, "Empty from/to hexfiles!\n"); |