Drizzled Public API Documentation
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
dyn0dyn.cc
1
/*****************************************************************************
2
3
Copyright (C) 1996, 2009, Innobase Oy. All Rights Reserved.
4
5
This program is free software; you can redistribute it and/or modify it under
6
the terms of the GNU General Public License as published by the Free Software
7
Foundation; version 2 of the License.
8
9
This program is distributed in the hope that it will be useful, but WITHOUT
10
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
12
13
You should have received a copy of the GNU General Public License along with
14
this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
15
St, Fifth Floor, Boston, MA 02110-1301 USA
16
17
*****************************************************************************/
18
19
/**************************************************/
26
#include "
dyn0dyn.h
"
27
#ifdef UNIV_NONINL
28
#include "dyn0dyn.ic"
29
#endif
30
31
/************************************************************/
34
UNIV_INTERN
35
dyn_block_t
*
36
dyn_array_add_block(
37
/*================*/
38
dyn_array_t
* arr)
39
{
40
mem_heap_t
* heap;
41
dyn_block_t
* block;
42
43
ut_ad
(arr);
44
ut_ad
(arr->magic_n == DYN_BLOCK_MAGIC_N);
45
46
if
(arr->
heap
== NULL) {
47
UT_LIST_INIT
(arr->base);
48
UT_LIST_ADD_FIRST
(list, arr->base, arr);
49
50
arr->
heap
=
mem_heap_create
(
sizeof
(
dyn_block_t
));
51
}
52
53
block =
dyn_array_get_last_block
(arr);
54
block->
used
= block->
used
| DYN_BLOCK_FULL_FLAG;
55
56
heap = arr->
heap
;
57
58
block =
static_cast<
dyn_block_t
*
>
(
mem_heap_alloc
(heap,
sizeof
(
dyn_block_t
)));
59
60
block->
used
= 0;
61
62
UT_LIST_ADD_LAST
(list, arr->base, block);
63
64
return
(block);
65
}
plugin
innobase
dyn
dyn0dyn.cc
Generated on Fri Mar 28 2014 08:14:30 for drizzle by
1.8.1.2