diff options
author | Alon Zakai <alonzakai@gmail.com> | 2016-05-09 10:52:40 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2016-05-09 10:52:40 -0700 |
commit | d36b1975100f3c73557fd303d095ee8e57306089 (patch) | |
tree | 0b250c771b3bda9b159c692f4f79ff1ae889316e /src | |
parent | aca5642e0d8d17c31c86f6da3dff4256ae53babd (diff) | |
download | binaryen-d36b1975100f3c73557fd303d095ee8e57306089.tar.gz binaryen-d36b1975100f3c73557fd303d095ee8e57306089.tar.bz2 binaryen-d36b1975100f3c73557fd303d095ee8e57306089.zip |
allow appending in stringToBinary
Diffstat (limited to 'src')
-rw-r--r-- | src/wasm-s-parser.h | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/wasm-s-parser.h b/src/wasm-s-parser.h index 3187ce63c..3b6b07fb0 100644 --- a/src/wasm-s-parser.h +++ b/src/wasm-s-parser.h @@ -1066,9 +1066,11 @@ private: } // converts an s-expression string representing binary data into an output sequence of raw bytes + // this appends to data, which may already contain content. void stringToBinary(const char* input, size_t size, std::vector<char>& data) { - data.resize(size); - char *write = data.data(); + auto originalSize = data.size(); + data.resize(originalSize + size); + char *write = data.data() + originalSize; while (1) { if (input[0] == 0) break; if (input[0] == '\\') { @@ -1102,9 +1104,9 @@ private: input++; } assert(write >= data.data()); - size_t written = write - data.data(); - assert(written <= data.size()); - data.resize(written); + size_t actual = write - data.data(); + assert(actual <= data.size()); + data.resize(actual); } bool hasMemory = false; |