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 | |
parent | 5fcb0c9d430cf3ebb4c180ff38e805c6d18d5dea (diff) | |
download | txr-48fbe97484faad462a1fc52049d682fdaaa665a0.tar.gz txr-48fbe97484faad462a1fc52049d682fdaaa665a0.tar.bz2 txr-48fbe97484faad462a1fc52049d682fdaaa665a0.zip |
* hash.c (hash_update): Avoid double cdr.
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | hash.c | 6 |
2 files changed, 8 insertions, 2 deletions
@@ -1,5 +1,9 @@ 2014-02-14 Kaz Kylheku <kaz@kylheku.com> + * hash.c (hash_update): Avoid double cdr. + +2014-02-14 Kaz Kylheku <kaz@kylheku.com> + * hash.c (inhash): Simplify with gethash_c. 2014-02-14 Kaz Kylheku <kaz@kylheku.com> @@ -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; } |