version 1.155, 2010/07/01 23:01:47 |
version 1.156, 2010/07/02 12:54:33 |
|
|
mdoc_node_free(struct mdoc_node *p) |
mdoc_node_free(struct mdoc_node *p) |
{ |
{ |
|
|
|
/* |
|
* XXX: if these end up being problematic in terms of memory |
|
* management and dereferencing freed blocks, then make them |
|
* into reference-counted double-pointers. |
|
*/ |
|
|
if (MDOC_Bd == p->tok && MDOC_BLOCK == p->type) |
if (MDOC_Bd == p->tok && MDOC_BLOCK == p->type) |
if (p->data.Bd) |
if (p->data.Bd) |
free(p->data.Bd); |
free(p->data.Bd); |
if (MDOC_Bl == p->tok && MDOC_BLOCK == p->type) |
if (MDOC_Bl == p->tok && MDOC_BLOCK == p->type) |
if (p->data.Bl) |
if (p->data.Bl) |
free(p->data.Bl); |
free(p->data.Bl); |
|
if (MDOC_Bf == p->tok && MDOC_HEAD == p->type) |
|
if (p->data.Bf) |
|
free(p->data.Bf); |
|
|
if (p->string) |
if (p->string) |
free(p->string); |
free(p->string); |