~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to mysys/tree.c

  • Committer: Stewart Smith
  • Date: 2008-09-15 07:13:59 UTC
  • mfrom: (383.1.21 drizzle)
  • mto: This revision was merged to the branch mainline in revision 408.
  • Revision ID: stewart@flamingspork.com-20080915071359-f8bznznyaiqrtqxa
merged

Show diffs side-by-side

added added

removed removed

Lines of Context:
74
74
static void rb_delete_fixup(TREE *tree,TREE_ELEMENT ***parent);
75
75
 
76
76
 
77
 
void init_tree(TREE *tree, ulong default_alloc_size, ulong memory_limit,
 
77
void init_tree(TREE *tree, uint32_t default_alloc_size, uint32_t memory_limit,
78
78
               int size, qsort_cmp2 compare, bool with_delete,
79
79
               tree_element_free free_element, void *custom_arg)
80
80
{
81
81
  if (default_alloc_size < DEFAULT_ALLOC_SIZE)
82
82
    default_alloc_size= DEFAULT_ALLOC_SIZE;
83
83
  default_alloc_size= MY_ALIGN(default_alloc_size, DEFAULT_ALIGN_SIZE);
84
 
  memset((uchar*) &tree->null_element, 0, sizeof(tree->null_element));
 
84
  memset(&tree->null_element, 0, sizeof(tree->null_element));
85
85
  tree->root= &tree->null_element;
86
86
  tree->compare=compare;
87
87
  tree->size_of_element=size > 0 ? (uint) size : 0;
232
232
      else
233
233
      {
234
234
        *((void**) (element+1))= (void*) ((void **) (element+1)+1);
235
 
        memcpy((uchar*) *((void **) (element+1)),key,
236
 
               (size_t) (key_size-sizeof(void*)));
 
235
        memcpy(*((void **) (element+1)),key, key_size - sizeof(void*));
237
236
      }
238
237
    }
239
238
    else
240
 
      memcpy((uchar*) element+tree->offset_to_key,key,(size_t) key_size);
 
239
      memcpy((uchar*) element + tree->offset_to_key, key, key_size);
241
240
    element->count=1;                   /* May give warning in purify */
242
241
    tree->elements_in_tree++;
243
242
    rb_insert(tree,parent,element);     /* rebalance tree */