summaryrefslogtreecommitdiff
path: root/parser.y
diff options
context:
space:
mode:
authorclifford <clifford@b57f626f-c46c-0410-a088-ec61d464b74c>2009-11-08 19:14:03 (GMT)
committerclifford <clifford@b57f626f-c46c-0410-a088-ec61d464b74c>2009-11-08 19:14:03 (GMT)
commit8394d6002b3b34b2e5c6d118c167f573edf3568d (patch)
tree120173638c2b155f65b9124dde8949d4af31d10c /parser.y
parentac26c9d683edd89c54af1990760fd2159277791d (diff)
Clifford Wolf:
Added commandline_commands support git-svn-id: http://svn.clifford.at/openscad/trunk@132 b57f626f-c46c-0410-a088-ec61d464b74c
Diffstat (limited to 'parser.y')
-rw-r--r--parser.y16
1 files changed, 13 insertions, 3 deletions
diff --git a/parser.y b/parser.y
index 8578fdd..7d74209 100644
--- a/parser.y
+++ b/parser.y
@@ -112,9 +112,19 @@ statement:
}
} |
TOK_ID '=' expr ';' {
- module->assignments_var.append($1);
- module->assignments_expr.append($3);
- free($1);
+ bool add_new_assignment = true;
+ for (int i = 0; i < module->assignments_var.size(); i++) {
+ if (module->assignments_var[i] != QString($1))
+ continue;
+ delete module->assignments_expr[i];
+ module->assignments_expr[i] = $3;
+ add_new_assignment = false;
+ }
+ if (add_new_assignment) {
+ module->assignments_var.append($1);
+ module->assignments_expr.append($3);
+ free($1);
+ }
} |
TOK_MODULE TOK_ID '(' arguments_decl optional_commas ')' {
Module *p = module;
contact: Jan Huwald // Impressum