=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/mandoc/Attic/mdoc_action.c,v retrieving revision 1.36 retrieving revision 1.37 diff -c -r1.36 -r1.37 *** src/usr.bin/mandoc/Attic/mdoc_action.c 2010/05/23 22:45:00 1.36 --- src/usr.bin/mandoc/Attic/mdoc_action.c 2010/05/24 00:00:10 1.37 *************** *** 1,4 **** ! /* $Id: mdoc_action.c,v 1.36 2010/05/23 22:45:00 schwarze Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons * --- 1,4 ---- ! /* $Id: mdoc_action.c,v 1.37 2010/05/24 00:00:10 schwarze Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons * *************** *** 29,35 **** #include "libmandoc.h" #define POST_ARGS struct mdoc *m, struct mdoc_node *n ! #define PRE_ARGS struct mdoc *m, const struct mdoc_node *n #define NUMSIZ 32 #define DATESIZ 32 --- 29,35 ---- #include "libmandoc.h" #define POST_ARGS struct mdoc *m, struct mdoc_node *n ! #define PRE_ARGS struct mdoc *m, struct mdoc_node *n #define NUMSIZ 32 #define DATESIZ 32 *************** *** 212,218 **** int ! mdoc_action_pre(struct mdoc *m, const struct mdoc_node *n) { switch (n->type) { --- 212,218 ---- int ! mdoc_action_pre(struct mdoc *m, struct mdoc_node *n) { switch (n->type) { *************** *** 938,945 **** static int pre_bl(PRE_ARGS) { ! return(MDOC_BLOCK == n->type ? pre_offset(m, n) : 1); } --- 938,1000 ---- static int pre_bl(PRE_ARGS) { + int pos; ! if (MDOC_BLOCK != n->type) { ! assert(n->parent); ! assert(MDOC_BLOCK == n->parent->type); ! assert(MDOC_Bl == n->parent->tok); ! assert(LIST__NONE != n->parent->data.list); ! n->data.list = n->parent->data.list; ! return(1); ! } ! ! assert(LIST__NONE == n->data.list); ! ! for (pos = 0; pos < (int)n->args->argc; pos++) { ! switch (n->args->argv[pos].arg) { ! case (MDOC_Bullet): ! n->data.list = LIST_bullet; ! break; ! case (MDOC_Dash): ! n->data.list = LIST_dash; ! break; ! case (MDOC_Enum): ! n->data.list = LIST_enum; ! break; ! case (MDOC_Hyphen): ! n->data.list = LIST_hyphen; ! break; ! case (MDOC_Item): ! n->data.list = LIST_item; ! break; ! case (MDOC_Tag): ! n->data.list = LIST_tag; ! break; ! case (MDOC_Diag): ! n->data.list = LIST_diag; ! break; ! case (MDOC_Hang): ! n->data.list = LIST_hang; ! break; ! case (MDOC_Ohang): ! n->data.list = LIST_ohang; ! break; ! case (MDOC_Inset): ! n->data.list = LIST_inset; ! break; ! case (MDOC_Column): ! n->data.list = LIST_column; ! break; ! default: ! break; ! } ! if (LIST__NONE != n->data.list) ! break; ! } ! ! assert(LIST__NONE != n->data.list); ! return(pre_offset(m, n)); }