diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2009-12-17 14:35:21 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2009-12-17 14:35:21 -0800 |
commit | f9ea3b7c156391758aa0356c7636983393184a39 (patch) | |
tree | a456bb87ad8b1f3e06374259b8f61578b03eaddd /lib.c | |
parent | cd5959194340d95f08abf8230d7f5e5a72728eb9 (diff) | |
download | txr-f9ea3b7c156391758aa0356c7636983393184a39.tar.gz txr-f9ea3b7c156391758aa0356c7636983393184a39.tar.bz2 txr-f9ea3b7c156391758aa0356c7636983393184a39.zip |
* lib.c (make_package, find_package): Eliminate declaration
in the middle of statement block.
* lib.h (TAG_MASK): Becomes type cnum rather than long.
(nao): Based off 1 rather than -1 to avoid left shift of
negative number.
Diffstat (limited to 'lib.c')
-rw-r--r-- | lib.c | 20 |
1 files changed, 11 insertions, 9 deletions
@@ -1103,16 +1103,17 @@ val make_sym(val name) val make_package(val name) { - if (find_package(name)) + if (find_package(name)) { uw_throwf(error_s, lit("make_package: ~a exists already"), name, nao); + } else { + val obj = make_obj(); + obj->pk.type = PKG; + obj->pk.name = name; + obj->pk.symhash = make_hash(nil, nil); - val obj = make_obj(); - obj->pk.type = PKG; - obj->pk.name = name; - obj->pk.symhash = make_hash(nil, nil); - - push(cons(name, obj), &packages); - return obj; + push(cons(name, obj), &packages); + return obj; + } } val find_package(val name) @@ -1123,6 +1124,7 @@ val find_package(val name) val intern(val str, val package) { val new_p; + val *place; if (nullp(package)) { package = user_package; @@ -1134,7 +1136,7 @@ val intern(val str, val package) type_check (package, PKG); - val *place = gethash_l(package->pk.symhash, str, &new_p); + place = gethash_l(package->pk.symhash, str, &new_p); if (!new_p) { return *place; |