1
0
Fork 0
mirror of https://github.com/puma/puma.git synced 2022-11-09 13:48:40 -05:00
puma--puma/ext/http11/tst_grow_node_free_list.c
zedshaw 004dec2c2f initial import into trunk
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@4 19e92222-5c0b-0410-8929-a290d50e31e9
2006-01-28 19:03:53 +00:00

38 lines
844 B
C

#include "tst.h"
#include <stdio.h>
#include <stdlib.h>
int tst_grow_node_free_list(struct tst *tst)
{
struct node *current_node;
struct node_lines *new_line;
int i;
if((new_line = (struct node_lines *) malloc(sizeof(struct node_lines))) == NULL)
return TST_ERROR;
if((new_line->node_line = (struct node *)
calloc(tst->node_line_width, sizeof(struct node))) == NULL)
{
free(new_line);
return TST_ERROR;
}
else
{
new_line->next = tst->node_lines;
tst->node_lines = new_line;
}
current_node = tst->node_lines->node_line;
tst->free_list = current_node;
for (i = 1; i < tst->node_line_width; i++)
{
current_node->middle = &(tst->node_lines->node_line[i]);
current_node = current_node->middle;
}
current_node->middle = NULL;
return 1;
}