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

Diff for /docbook2mdoc/docbook2mdoc.c between version 1.42 and 1.43

version 1.42, 2014/10/12 15:48:42 version 1.43, 2014/10/19 19:11:29
Line 37  struct parse {
Line 37  struct parse {
         enum nodeid      node; /* current (NODE_ROOT if pre-tree) */          enum nodeid      node; /* current (NODE_ROOT if pre-tree) */
         const char      *fname; /* filename */          const char      *fname; /* filename */
         int              stop; /* should we stop now? */          int              stop; /* should we stop now? */
   #define PARSE_EQN        1
           unsigned int     flags; /* document-wide flags */
         struct pnode    *root; /* root of parse tree */          struct pnode    *root; /* root of parse tree */
         struct pnode    *cur; /* current node in tree */          struct pnode    *cur; /* current node in tree */
         char            *b; /* nil-terminated buffer for pre-print */          char            *b; /* nil-terminated buffer for pre-print */
Line 305  xml_elem_start(void *arg, const XML_Char *name, const 
Line 307  xml_elem_start(void *arg, const XML_Char *name, const 
                 ps->node = ps->cur->node;                  ps->node = ps->cur->node;
         }          }
   
   
         for (node = 0; node < NODE__MAX; node++)          for (node = 0; node < NODE__MAX; node++)
                 if (NULL == nodes[node].name)                  if (NULL == nodes[node].name)
                         continue;                          continue;
Line 341  xml_elem_start(void *arg, const XML_Char *name, const 
Line 342  xml_elem_start(void *arg, const XML_Char *name, const 
                 return;                  return;
         }          }
   
           if (NODE_INLINEEQUATION == node)
                   ps->flags |= PARSE_EQN;
   
         if (NULL == (dat = calloc(1, sizeof(struct pnode)))) {          if (NULL == (dat = calloc(1, sizeof(struct pnode)))) {
                 perror(NULL);                  perror(NULL);
                 exit(EXIT_FAILURE);                  exit(EXIT_FAILURE);
Line 1066  pnode_printprologue(struct parse *p, struct pnode *pn)
Line 1070  pnode_printprologue(struct parse *p, struct pnode *pn)
                 puts(".Dt UNKNOWN 1");                  puts(".Dt UNKNOWN 1");
                 puts(".Os");                  puts(".Os");
         }          }
   
           if (PARSE_EQN & p->flags) {
                   puts(".EQ");
                   puts("delim $$");
                   puts(".EN");
           }
 }  }
   
 /*  /*
Line 1267  pnode_print(struct parse *p, struct pnode *pn)
Line 1277  pnode_print(struct parse *p, struct pnode *pn)
                 pnode_printmopen(p);                  pnode_printmopen(p);
                 fputs("Fd", stdout);                  fputs("Fd", stdout);
                 break;                  break;
           case (NODE_INFORMALEQUATION):
                   if ( ! p->newln)
                           putchar('\n');
                   puts(".EQ");
                   p->newln = 0;
                   break;
           case (NODE_INLINEEQUATION):
                   fputc('$', stdout);
                   p->newln = 0;
                   break;
         case (NODE_ITEMIZEDLIST):          case (NODE_ITEMIZEDLIST):
                 assert(p->newln);                  assert(p->newln);
                 pnode_printlist(p, pn);                  pnode_printlist(p, pn);
Line 1280  pnode_print(struct parse *p, struct pnode *pn)
Line 1300  pnode_print(struct parse *p, struct pnode *pn)
                 pnode_printmopen(p);                  pnode_printmopen(p);
                 fputs("Li", stdout);                  fputs("Li", stdout);
                 break;                  break;
         case (NODE_MML_MATH):  
                 if ( ! p->newln)  
                         putchar('\n');  
                 puts(".EQ");  
                 p->newln = 0;  
                 break;  
         case (NODE_MML_MFENCED):          case (NODE_MML_MFENCED):
                 pnode_printmathfenced(p, pn);                  pnode_printmathfenced(p, pn);
                 pnode_unlinksub(pn);                  pnode_unlinksub(pn);
Line 1294  pnode_print(struct parse *p, struct pnode *pn)
Line 1308  pnode_print(struct parse *p, struct pnode *pn)
         case (NODE_MML_MI):          case (NODE_MML_MI):
         case (NODE_MML_MN):          case (NODE_MML_MN):
         case (NODE_MML_MO):          case (NODE_MML_MO):
                 putchar('{');                  if (TAILQ_EMPTY(&pn->childq))
                           break;
                   fputs(" { ", stdout);
                 break;                  break;
         case (NODE_MML_MFRAC):          case (NODE_MML_MFRAC):
         case (NODE_MML_MSUB):          case (NODE_MML_MSUB):
Line 1482  pnode_print(struct parse *p, struct pnode *pn)
Line 1498  pnode_print(struct parse *p, struct pnode *pn)
                 pnode_print(p, pp);                  pnode_print(p, pp);
   
         switch (pn->node) {          switch (pn->node) {
         case (NODE_MML_MATH):          case (NODE_INFORMALEQUATION):
                 if ( ! p->newln)                  if ( ! p->newln)
                         putchar('\n');                          putchar('\n');
                 puts(".EN");                  puts(".EN");
                 p->newln = 1;                  p->newln = 1;
                 break;                  break;
           case (NODE_INLINEEQUATION):
                   fputs("$ ", stdout);
                   p->newln = sv;
                   break;
         case (NODE_MML_MROW):          case (NODE_MML_MROW):
         case (NODE_MML_MI):          case (NODE_MML_MI):
         case (NODE_MML_MN):          case (NODE_MML_MN):
         case (NODE_MML_MO):          case (NODE_MML_MO):
                 putchar('}');                  if (TAILQ_EMPTY(&pn->childq))
                           break;
                   fputs(" } ", stdout);
                 break;                  break;
         case (NODE_APPLICATION):          case (NODE_APPLICATION):
         case (NODE_ARG):          case (NODE_ARG):

Legend:
Removed from v.1.42  
changed lines
  Added in v.1.43

CVSweb