if (node == p->left)
{
// zigzig
- if (psplay_fast_prng()&0xFF >= PSPLAY_PROB_ZIGZIG)
+ if ((psplay_fast_prng()&0xFF) >= PSPLAY_PROB_ZIGZIG)
return;
g->left = p->right;
else
{
// zigzag
- if (psplay_fast_prng()&0xFF >= PSPLAY_PROB_ZIGZAG)
+ if ((psplay_fast_prng()&0xFF) >= PSPLAY_PROB_ZIGZAG)
return;
p->right = node->left;
if (node == p->left)
{
// zagzig
- if (psplay_fast_prng()&0xFF >= PSPLAY_PROB_ZIGZAG)
+ if ((psplay_fast_prng()&0xFF) >= PSPLAY_PROB_ZIGZAG)
return;
p->left = node->right;
else
{
// zagzag
- if (psplay_fast_prng()&0xFF >= PSPLAY_PROB_ZIGZIG)
+ if ((psplay_fast_prng()&0xFF) >= PSPLAY_PROB_ZIGZIG)
return;
g->right = p->left;
{
if (p)
{
- if (psplay_fast_prng()&0xFF >= PSPLAY_PROB_ZIG)
+ if ((psplay_fast_prng()&0xFF) >= PSPLAY_PROB_ZIG)
return;
if (node == p->left)
self->key = key;
self->up = self->left = self->right = NULL;
}
+ return self;
}
void
{
case PSPLAY_PREORDER:
fprintf (fh, "%s%p\n", sp+40-level, node);
- fprintf (fh, "%skey %p (%.4s)\n", sp+40-level, node->key, node->key?node->key:"NULL");
+ fprintf (fh, "%skey %p (%.4s)\n", sp+40-level, (char*)node->key, node->key?(char*)node->key:"NULL");
fprintf (fh, "%sup %p\n", sp+40-level, node->up);
fprintf (fh, "%sleft %p\n", sp+40-level, node->left);
break;
psplay_dump (&root, stdout);
PSplay f = psplay_find (&root, "baz");
- printf ("found %p (%.4s)\n", f, f->key?f->key:"NULL");
+ printf ("found %p (%.4s)\n", f, f->key?(char*)f->key:"NULL");
psplay_dump (&root, stdout);
f = psplay_find (&root, "test");
- printf ("found %p (%.4s)\n", f, f->key?f->key:"NULL");
+ printf ("found %p (%.4s)\n", f, f->key?(char*)f->key:"NULL");
psplay_dump (&root, stdout);
f = psplay_find (&root, "test");
- printf ("found %p (%.4s)\n", f, f->key?f->key:"NULL");
+ printf ("found %p (%.4s)\n", f, f->key?(char*)f->key:"NULL");
psplay_dump (&root, stdout);
f = psplay_find (&root, "foo");
- printf ("found %p (%.4s)\n", f, f->key?f->key:"NULL");
+ printf ("found %p (%.4s)\n", f, f->key?(char*)f->key:"NULL");
psplay_dump (&root, stdout);