summaryrefslogtreecommitdiffstats
path: root/hash.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2014-10-25 17:53:40 -0700
committerKaz Kylheku <kaz@kylheku.com>2014-10-25 17:53:40 -0700
commit0563523eb3cdc046d98013c8f6f7b374f7bb4adb (patch)
tree78ab7ba4ef23dacfd0373d026b1941b355d842b8 /hash.c
parent76aca0cdeb648421ebbbfc3c7e14c2d0d1878348 (diff)
downloadtxr-0563523eb3cdc046d98013c8f6f7b374f7bb4adb.tar.gz
txr-0563523eb3cdc046d98013c8f6f7b374f7bb4adb.tar.bz2
txr-0563523eb3cdc046d98013c8f6f7b374f7bb4adb.zip
* hash.c (hash_begin): Use coerce macro instead of raw C cast.
Use cobj_handle so hash argument is validated. * parser.l (YY_INPUT): Use convert macro instead of raw C cast.
Diffstat (limited to 'hash.c')
-rw-r--r--hash.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/hash.c b/hash.c
index 364c5180..8a4c554b 100644
--- a/hash.c
+++ b/hash.c
@@ -666,10 +666,9 @@ static struct cobj_ops hash_iter_ops = {
val hash_begin(val hash)
{
val hi_obj;
- struct hash_iter *hi;
- struct hash *h = (struct hash *) hash->co.handle;
+ struct hash *h = coerce(struct hash *, cobj_handle(hash, hash_s));
+ struct hash_iter *hi = coerce(struct hash_iter *, chk_malloc(sizeof *hi));
- hi = coerce(struct hash_iter *, chk_malloc(sizeof *hi));
hi->next = 0;
hi->hash = nil;
hi->chain = -1;