[BACK]Return to parse.c CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / docbook2mdoc

Diff for /docbook2mdoc/parse.c between version 1.1 and 1.2

version 1.1, 2019/03/26 18:32:07 version 1.2, 2019/03/26 20:54:43
Line 176  static const struct element elements[] = {
Line 176  static const struct element elements[] = {
         { "varname",            NODE_VARNAME },          { "varname",            NODE_VARNAME },
         { "warning",            NODE_WARNING },          { "warning",            NODE_WARNING },
         { "wordasword",         NODE_WORDASWORD },          { "wordasword",         NODE_WORDASWORD },
           { "xi:include",         NODE_WARN },
         { "year",               NODE_YEAR },          { "year",               NODE_YEAR },
         { NULL,                 NODE__MAX }          { NULL,                 NODE__MAX }
 };  };
Line 262  xml_elem_start(void *arg, const XML_Char *name, const 
Line 263  xml_elem_start(void *arg, const XML_Char *name, const 
         if (ps->tree->flags && TREE_FAIL)          if (ps->tree->flags && TREE_FAIL)
                 return;                  return;
   
         /* FIXME: find a better way to ditch other namespaces. */  
         if (strcmp(name, "xi:include") == 0)  
                 return;  
   
         /* Close out the text node, if there is one. */          /* Close out the text node, if there is one. */
         if (ps->cur != NULL && ps->cur->node == NODE_TEXT) {          if (ps->cur != NULL && ps->cur->node == NODE_TEXT) {
                 pnode_trim(ps->cur);                  pnode_trim(ps->cur);
Line 284  xml_elem_start(void *arg, const XML_Char *name, const 
Line 281  xml_elem_start(void *arg, const XML_Char *name, const 
                 return;                  return;
         }          }
   
         if (elem->node == NODE_INLINEEQUATION)          switch (elem->node) {
           case NODE_WARN:
                   if (ps->warn)
                           fprintf(stderr, "%s:%zu:%zu: warning: "
                               "ignoring element <%s>\n", ps->fname,
                               XML_GetCurrentLineNumber(ps->xml),
                               XML_GetCurrentColumnNumber(ps->xml), name);
                   /* FALLTHROUGH */
           case NODE_IGNORE:
                   return;
           case NODE_INLINEEQUATION:
                 ps->tree->flags |= TREE_EQN;                  ps->tree->flags |= TREE_EQN;
                   break;
           default:
                   break;
           }
   
         if ((dat = calloc(1, sizeof(*dat))) == NULL) {          if ((dat = calloc(1, sizeof(*dat))) == NULL) {
                 perror(NULL);                  perror(NULL);
Line 333  static void
Line 344  static void
 xml_elem_end(void *arg, const XML_Char *name)  xml_elem_end(void *arg, const XML_Char *name)
 {  {
         struct parse    *ps;          struct parse    *ps;
           const struct element *elem;
   
         ps = arg;          ps = arg;
         if (ps->tree->flags && TREE_FAIL)          if (ps->tree->flags && TREE_FAIL)
                 return;                  return;
   
         /* FIXME: find a better way to ditch other namespaces. */  
         if (strcmp(name, "xi:include") == 0)  
                 return;  
   
         /* Close out the text node, if there is one. */          /* Close out the text node, if there is one. */
         if (ps->cur->node == NODE_TEXT) {          if (ps->cur->node == NODE_TEXT) {
                 pnode_trim(ps->cur);                  pnode_trim(ps->cur);
                 ps->cur = ps->cur->parent;                  ps->cur = ps->cur->parent;
         }          }
         ps->cur = ps->cur->parent;  
           for (elem = elements; elem->name != NULL; elem++)
                   if (strcmp(elem->name, name) == 0)
                           break;
   
           switch (elem->node) {
           case NODE_IGNORE:
           case NODE_WARN:
                   break;
           default:
                   assert(elem->node == ps->cur->node);
                   ps->cur = ps->cur->parent;
           }
 }  }
   
 struct parse *  struct parse *

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

CVSweb