avoid cast on l-value

svn: r2278
This commit is contained in:
Matthew Flatt 2006-02-18 14:54:18 +00:00
parent f9fd8b0c5a
commit 68e2376793
2 changed files with 3 additions and 1 deletions

View File

@ -30,6 +30,7 @@ static int num_fnls;
#define Tree Fnl
#define Splay_Item(t) ((unsigned long)t->p)
#define Set_Splay_Item(t, v) (t)->p = (void *)v
#include "../sgc/splay.c"
void GC_set_finalizer(void *p, int tagged, int level, void (*f)(void *p, void *data),

View File

@ -49,6 +49,7 @@ struct tree_node {
void *data;
};
# define Splay_Item(t) t->item
# define Set_Splay_Item(t, v) t->item = v
#endif
static Tree * splay (unsigned long i, Tree * t) {
@ -98,7 +99,7 @@ static Tree * splay (unsigned long i, Tree * t) {
static Tree * splay_insert(unsigned long i, Tree * new, Tree * t) {
/* Insert i into the tree t, unless it's already there. */
/* Return a pointer to the resulting tree. */
Splay_Item(new) = i;
Set_Splay_Item(new, i);
if (t == NULL) {
new->left = new->right = NULL;
return new;