~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/memory/sql_alloc.cc

  • Committer: Olaf van der Spek
  • Date: 2011-06-21 14:55:36 UTC
  • mto: This revision was merged to the branch mainline in revision 2346.
  • Revision ID: olafvdspek@gmail.com-20110621145536-hd50tbacow514s9s
Refactor

Show diffs side-by-side

added added

removed removed

Lines of Context:
28
28
 
29
29
#include <drizzled/internal/my_sys.h>
30
30
 
31
 
namespace drizzled
32
 
{
33
 
 
34
 
static void sql_alloc_error_handler(void)
35
 
{
36
 
  errmsg_printf(error::ERROR, "%s",ER(ER_OUT_OF_RESOURCES));
37
 
}
 
31
namespace drizzled {
38
32
 
39
33
void memory::init_sql_alloc(memory::Root *mem_root, size_t block_size, size_t)
40
34
{
41
35
  mem_root->init_alloc_root(block_size);
42
 
  mem_root->error_handler= sql_alloc_error_handler;
43
36
}
44
37
 
45
 
 
46
38
void *memory::sql_alloc(size_t Size)
47
39
{
48
40
  return current_mem_root()->alloc_root(Size);
49
41
}
50
42
 
51
 
 
52
43
void *memory::sql_calloc(size_t size)
53
44
{
54
45
  void *ptr= memory::sql_alloc(size);
56
47
  return ptr;
57
48
}
58
49
 
59
 
 
60
50
char *memory::sql_strdup(const char *str)
61
51
{
62
52
  size_t len= strlen(str)+1;
63
 
  char *pos;
64
 
  if ((pos= (char*) memory::sql_alloc(len)))
65
 
    memcpy(pos,str,len);
 
53
  char *pos= (char*) memory::sql_alloc(len);
 
54
  memcpy(pos,str,len);
66
55
  return pos;
67
56
}
68
57
 
69
 
 
70
58
char *memory::sql_strmake(const char *str, size_t len)
71
59
{
72
60
  char *pos= (char*) memory::sql_alloc(len+1);
75
63
  return pos;
76
64
}
77
65
 
78
 
 
79
66
void* memory::sql_memdup(const void *ptr, size_t len)
80
67
{
81
 
  void *pos;
82
 
  if ((pos= memory::sql_alloc(len)))
83
 
    memcpy(pos,ptr,len);
 
68
  void *pos= memory::sql_alloc(len);
 
69
  memcpy(pos,ptr,len);
84
70
  return pos;
85
71
}
86
72