summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/wasm-s-parser.h14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/wasm-s-parser.h b/src/wasm-s-parser.h
index 7ea9a521e..429dde417 100644
--- a/src/wasm-s-parser.h
+++ b/src/wasm-s-parser.h
@@ -1394,14 +1394,14 @@ private:
} else {
offset = allocator.alloc<Const>()->set(Literal(int32_t(0)));
}
- const char *input = s[i]->c_str();
- if (auto size = strlen(input)) {
- std::vector<char> data;
- stringToBinary(input, size, data);
- wasm.memory.segments.emplace_back(offset, data.data(), data.size());
- } else {
- wasm.memory.segments.emplace_back(offset, "", 0);
+ std::vector<char> data;
+ while (i < s.size()) {
+ const char *input = s[i++]->c_str();
+ if (auto size = strlen(input)) {
+ stringToBinary(input, size, data);
+ }
}
+ wasm.memory.segments.emplace_back(offset, data.data(), data.size());
}
void parseExport(Element& s) {