summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2015-12-05 18:04:27 -0800
committerAlon Zakai <alonzakai@gmail.com>2015-12-05 18:04:44 -0800
commit2b38d9587a5dff98f918ccf7d1112e8db2b357fe (patch)
treebdd63f5cda005040791411081ed010aca9240cba /src
parent538e2d9813dd46e76aa226143b978f2b1acfb8e6 (diff)
downloadbinaryen-2b38d9587a5dff98f918ccf7d1112e8db2b357fe.tar.gz
binaryen-2b38d9587a5dff98f918ccf7d1112e8db2b357fe.tar.bz2
binaryen-2b38d9587a5dff98f918ccf7d1112e8db2b357fe.zip
start to fix up invalid names for js in wasm2asm
Diffstat (limited to 'src')
-rw-r--r--src/wasm2asm.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/wasm2asm.h b/src/wasm2asm.h
index f33065a5d..606423e8e 100644
--- a/src/wasm2asm.h
+++ b/src/wasm2asm.h
@@ -100,7 +100,18 @@ public:
}
static IString fromName(Name name) {
- return name; // TODO: add a "$" or other prefixing? sanitization of bad chars?
+ // TODO: more clever name fixing, including checking we do not collide
+ const char *str = name.str;
+ if (strchr(str, '-')) {
+ char *mod = strdup(str);
+ str = mod;
+ while (*mod) {
+ if (*mod == '-') *mod = '_';
+ mod++;
+ }
+ name = IString(str, false);
+ }
+ return name;
}
void setStatement(Expression* curr) {