diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2014-02-14 17:51:06 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2014-02-14 17:51:06 -0800 |
commit | 48fbe97484faad462a1fc52049d682fdaaa665a0 (patch) | |
tree | 35ecc890d2d01ba21c03b67dd3e7a5753a6b53b7 /hash.c | |
parent | 5fcb0c9d430cf3ebb4c180ff38e805c6d18d5dea (diff) | |
download | txr-48fbe97484faad462a1fc52049d682fdaaa665a0.tar.gz txr-48fbe97484faad462a1fc52049d682fdaaa665a0.tar.bz2 txr-48fbe97484faad462a1fc52049d682fdaaa665a0.zip |
* hash.c (hash_update): Avoid double cdr.
Diffstat (limited to 'hash.c')
-rw-r--r-- | hash.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -1008,8 +1008,10 @@ val hash_update(val hash, val fun) { val iter = hash_begin(hash); val cell; - while ((cell = hash_next(iter)) != nil) - rplacd(cell, funcall1(fun, cdr(cell))); + while ((cell = hash_next(iter)) != nil) { + val *loc = cdr_l(cell); + set(*loc, funcall1(fun, *loc)); + } return hash; } |