version 1.1.1.1, 2011/06/08 07:09:12
|
version 1.1.1.2, 2012/02/17 12:50:03
|
Line 79 axlStack * axl_stack_new (axlDestroyFunc destroy_data)
|
Line 79 axlStack * axl_stack_new (axlDestroyFunc destroy_data)
|
|
|
/* create an empty stack */ |
/* create an empty stack */ |
stack = axl_new (axlStack, 1); |
stack = axl_new (axlStack, 1); |
|
/* check returned value */ |
|
if (stack == NULL) |
|
return NULL; |
stack->destroy = destroy_data; |
stack->destroy = destroy_data; |
|
|
return stack; |
return stack; |
Line 96 axlStack * axl_stack_new (axlDestroyFunc destroy_data)
|
Line 99 axlStack * axl_stack_new (axlDestroyFunc destroy_data)
|
*/ |
*/ |
void axl_stack_push (axlStack * stack, axlPointer data) |
void axl_stack_push (axlStack * stack, axlPointer data) |
{ |
{ |
|
axlPointer * temp; |
|
|
axl_return_if_fail (stack); |
axl_return_if_fail (stack); |
axl_return_if_fail (data); |
axl_return_if_fail (data); |
|
|
Line 104 void axl_stack_push (axlStack * stack, axlPointe
|
Line 109 void axl_stack_push (axlStack * stack, axlPointe
|
if (stack->size == 0) { |
if (stack->size == 0) { |
/* ask for a single pointer */ |
/* ask for a single pointer */ |
stack->stack = axl_new (axlPointer, 1); |
stack->stack = axl_new (axlPointer, 1); |
|
|
|
/* check allocated result */ |
|
if (stack->stack == NULL) |
|
return; |
}else { |
}else { |
/* ask to grow the memory already allocated */ |
/* ask to grow the memory already allocated */ |
|
temp = stack->stack; |
stack->stack = realloc (stack->stack, sizeof (axlPointer) * (stack->size + 1)); |
stack->stack = realloc (stack->stack, sizeof (axlPointer) * (stack->size + 1)); |
|
/* check allocated value */ |
|
if (stack->stack == NULL) { |
|
stack->stack = temp; |
|
return; |
|
} /* end if */ |
|
|
} |
} |
/* update the size available */ |
/* update the size available */ |
stack->size++; |
stack->size++; |
Line 401 axlBinaryStack * axl_binary_stack_new (void)
|
Line 417 axlBinaryStack * axl_binary_stack_new (void)
|
axlBinaryStack * result; |
axlBinaryStack * result; |
|
|
result = axl_new (axlBinaryStack, 1); |
result = axl_new (axlBinaryStack, 1); |
|
/* check allocated value */ |
|
if (result == NULL) |
|
return NULL; |
result->stack = axl_stack_new (axl_free); |
result->stack = axl_stack_new (axl_free); |
|
|
/* return stack created */ |
/* return stack created */ |
Line 428 void axl_binary_stack_push (axlBinaryStack
|
Line 447 void axl_binary_stack_push (axlBinaryStack
|
|
|
/* configure last */ |
/* configure last */ |
node = axl_new (axlBinaryStackNode, 1); |
node = axl_new (axlBinaryStackNode, 1); |
|
/* check allocated value */ |
|
if (node == NULL) |
|
return; |
node->count = 1; |
node->count = 1; |
node->state = state; |
node->state = state; |
|
|