aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@hornquist.se>2019-04-25 19:10:35 +0200
committerHugo Hörnquist <hugo@hornquist.se>2019-04-25 19:10:35 +0200
commit7937ba477539072253c46cea28b3d16b9d6c755f (patch)
tree662ad4c79c286a069dd4f572e3c232939fd75218 /src
parentMade none-output print statprof info. (diff)
downloadcalp-7937ba477539072253c46cea28b3d16b9d6c755f.tar.gz
calp-7937ba477539072253c46cea28b3d16b9d6c755f.tar.xz
Move single curly brace.
This fixes an error where the property list of an object would be rebuilt every time it was accessed. This was both slow and wrong.
Diffstat (limited to 'src')
-rw-r--r--src/guile_interface.scm.c25
1 files changed, 13 insertions, 12 deletions
diff --git a/src/guile_interface.scm.c b/src/guile_interface.scm.c
index 0f795d44..63d3f737 100644
--- a/src/guile_interface.scm.c
+++ b/src/guile_interface.scm.c
@@ -68,22 +68,23 @@ SCM_DEFINE (vcomponent_get_attribute, "%vcomponent-get-attribute", 2, 0, 0,
val = scm_cons(val, SCM_MAKE_HASH_TABLE());
v->key.scm = val;
scm_gc_protect_object(v->key.scm);
- }
- triekeys = KEYS(TRIE(param_set))(&v->val);
- /* For every property key bound to the current attribute */
- FOR (LLIST, strbuf, k, triekeys) {
- proplist = SCM_EOL;
+ triekeys = KEYS(TRIE(param_set))(&v->val);
+ /* For every property key bound to the current attribute */
+ FOR (LLIST, strbuf, k, triekeys) {
+ proplist = SCM_EOL;
- trievals = GET(TRIE(param_set))(&v->val, k->mem);
- /* For every value bound to the current property */
- FOR (LLIST, strbuf, s, trievals) {
- proplist = scm_cons(scm_from_strbuf(s), proplist);
- }
+ trievals = GET(TRIE(param_set))(&v->val, k->mem);
+ /* For every value bound to the current property */
+ FOR (LLIST, strbuf, s, trievals) {
+ proplist = scm_cons(scm_from_strbuf(s), proplist);
+ }
- scm_hashq_set_x(scm_cdr(val), scm_from_strbuf_symbol(k),
- scm_reverse(proplist));
+ scm_hashq_set_x(scm_cdr(val), scm_from_strbuf_symbol(k),
+ scm_reverse(proplist));
+ }
}
+
attrlist = scm_cons(val, attrlist);
}