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

Diff for /docbook2mdoc/parse.c between version 1.55 and 1.59

version 1.55, 2019/04/29 02:00:50 version 1.59, 2019/05/02 11:58:18
Line 97  static const struct alias aliases[] = {
Line 97  static const struct alias aliases[] = {
         { "imageobject",        NODE_IGNORE },          { "imageobject",        NODE_IGNORE },
         { "indexterm",          NODE_DELETE },          { "indexterm",          NODE_DELETE },
         { "informaltable",      NODE_TABLE },          { "informaltable",      NODE_TABLE },
           { "jobtitle",           NODE_IGNORE },
         { "keycap",             NODE_KEYSYM },          { "keycap",             NODE_KEYSYM },
         { "keycode",            NODE_IGNORE },          { "keycode",            NODE_IGNORE },
         { "keycombo",           NODE_IGNORE },          { "keycombo",           NODE_IGNORE },
         { "mediaobject",        NODE_BLOCKQUOTE },          { "mediaobject",        NODE_BLOCKQUOTE },
           { "orgdiv",             NODE_IGNORE },
         { "orgname",            NODE_IGNORE },          { "orgname",            NODE_IGNORE },
         { "othercredit",        NODE_AUTHOR },          { "othercredit",        NODE_AUTHOR },
         { "othername",          NODE_PERSONNAME },          { "othername",          NODE_PERSONNAME },
Line 130  static const struct alias aliases[] = {
Line 132  static const struct alias aliases[] = {
         { "trademark",          NODE_IGNORE },          { "trademark",          NODE_IGNORE },
         { "ulink",              NODE_LINK },          { "ulink",              NODE_LINK },
         { "userinput",          NODE_LITERAL },          { "userinput",          NODE_LITERAL },
         { "year",               NODE_IGNORE },  
         { NULL,                 NODE_IGNORE }          { NULL,                 NODE_IGNORE }
 };  };
   
Line 269  xml_text(struct parse *p, const char *word, int sz)
Line 270  xml_text(struct parse *p, const char *word, int sz)
   
         n = pnode_alloc(p->cur);          n = pnode_alloc(p->cur);
         n->node = NODE_TEXT;          n->node = NODE_TEXT;
         n->flags = ((p->flags & PFLAG_LINE) ? NFLAG_LINE : 0) |          if (p->flags & PFLAG_LINE && TAILQ_PREV(n, pnodeq, child) != NULL)
             ((p->flags & PFLAG_SPC) ? NFLAG_SPC : 0);                  n->flags |= NFLAG_LINE;
           if (p->flags & PFLAG_SPC)
                   n->flags |= NFLAG_SPC;
         p->flags &= ~(PFLAG_LINE | PFLAG_SPC);          p->flags &= ~(PFLAG_LINE | PFLAG_SPC);
   
         /*          /*
Line 353  pnode_closetext(struct parse *p, int check_last_word)
Line 356  pnode_closetext(struct parse *p, int check_last_word)
   
         while (cp > n->b && !isspace((unsigned char)cp[-1]))          while (cp > n->b && !isspace((unsigned char)cp[-1]))
                 cp--;                  cp--;
           last_word = cp;
           while (cp > n->b && isspace((unsigned char)cp[-1]))
                   cp--;
         if (cp == n->b)          if (cp == n->b)
                 return;                  return;
           *cp = '\0';
   
         last_word = cp;  
         while (cp > n->b && isspace((unsigned char)cp[-1]))  
             *--cp = '\0';  
   
         /* Move the last word into its own node, for use with .Pf. */          /* Move the last word into its own node, for use with .Pf. */
   
         n = pnode_alloc_text(p->cur, last_word);          n = pnode_alloc_text(p->cur, last_word);
Line 434  xml_entity(struct parse *p, const char *name)
Line 437  xml_entity(struct parse *p, const char *name)
         n->b = xstrdup(entity->roff);          n->b = xstrdup(entity->roff);
 done:  done:
         n->node = NODE_ESCAPE;          n->node = NODE_ESCAPE;
         n->flags = ((p->flags & PFLAG_LINE) ? NFLAG_LINE : 0) |          if (p->flags & PFLAG_LINE && TAILQ_PREV(n, pnodeq, child) != NULL)
             ((p->flags & PFLAG_SPC) ? NFLAG_SPC : 0);                  n->flags |= NFLAG_LINE;
           if (p->flags & PFLAG_SPC)
                   n->flags |= NFLAG_SPC;
         p->flags &= ~(PFLAG_LINE | PFLAG_SPC);          p->flags &= ~(PFLAG_LINE | PFLAG_SPC);
 }  }
   
Line 507  xml_elem_start(struct parse *p, const char *name)
Line 512  xml_elem_start(struct parse *p, const char *name)
         }          }
   
         n = pnode_alloc(p->cur);          n = pnode_alloc(p->cur);
           if (p->flags & PFLAG_LINE && p->cur != NULL &&
               TAILQ_PREV(n, pnodeq, child) != NULL)
                   n->flags |= NFLAG_LINE;
           p->flags &= ~PFLAG_LINE;
   
         /*          /*
          * Some elements are self-closing.           * Some elements are self-closing.
Line 527  xml_elem_start(struct parse *p, const char *name)
Line 536  xml_elem_start(struct parse *p, const char *name)
         switch (pnode_class(p->ncur)) {          switch (pnode_class(p->ncur)) {
         case CLASS_LINE:          case CLASS_LINE:
         case CLASS_ENCL:          case CLASS_ENCL:
                 n->flags = ((p->flags & PFLAG_LINE) ? NFLAG_LINE : 0) |                  if (p->flags & PFLAG_SPC)
                     ((p->flags & PFLAG_SPC) ? NFLAG_SPC : 0);                          n->flags |= NFLAG_SPC;
                 break;                  break;
         case CLASS_NOFILL:          case CLASS_NOFILL:
                 p->nofill++;                  p->nofill++;

Legend:
Removed from v.1.55  
changed lines
  Added in v.1.59

CVSweb