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

Diff for /docbook2mdoc/docbook2mdoc.c between version 1.107 and 1.109

version 1.107, 2019/04/12 08:48:16 version 1.109, 2019/04/12 10:34:48
Line 573  pnode_printauthor(struct format *f, struct pnode *n)
Line 573  pnode_printauthor(struct format *f, struct pnode *n)
 static void  static void
 pnode_printlink(struct format *f, struct pnode *n)  pnode_printlink(struct format *f, struct pnode *n)
 {  {
           struct pnode    *nc;
         const char      *uri, *text;          const char      *uri, *text;
   
         uri = pnode_getattr_raw(n, ATTRKEY_LINKEND, NULL);          uri = pnode_getattr_raw(n, ATTRKEY_LINKEND, NULL);
         if (uri != NULL) {          if (uri != NULL) {
                 if (TAILQ_FIRST(&n->childq) != NULL) {                  if (TAILQ_FIRST(&n->childq) != NULL) {
                         print_textnode(f, n);                          TAILQ_FOREACH(nc, &n->childq, child)
                                   pnode_print(f, nc);
                         text = "";                          text = "";
                 } else {                  } else if ((text = pnode_getattr_raw(n,
                         text = pnode_getattr_raw(n, ATTRKEY_ENDTERM, NULL);                      ATTRKEY_ENDTERM, NULL)) != NULL) {
                         if (text != NULL)                          if (f->linestate == LINE_MACRO && f->flags & FMT_ARG)
                                   macro_addarg(f, text, ARG_SPACE);
                           else
                                 print_text(f, text, ARG_SPACE);                                  print_text(f, text, ARG_SPACE);
                 }                  }
                 if (text != NULL) {                  if (text != NULL) {
                         macro_open(f, "Pq");                          if (f->flags & FMT_IMPL)
                         f->flags |= FMT_CHILD;                                  macro_open(f, "Po");
                           else {
                                   macro_open(f, "Pq");
                                   f->flags |= FMT_CHILD;
                           }
                 }                  }
                 macro_open(f, "Sx");                  macro_open(f, "Sx");
                 macro_addarg(f, uri, ARG_SPACE);                  macro_addarg(f, uri, ARG_SPACE);
                   if (text != NULL && f->flags & FMT_IMPL)
                           macro_open(f, "Pc");
                 pnode_unlinksub(n);                  pnode_unlinksub(n);
                 return;                  return;
         }          }
Line 641  pnode_printprologue(struct format *f, struct ptree *tr
Line 651  pnode_printprologue(struct format *f, struct ptree *tr
 static void  static void
 pnode_printvarlistentry(struct format *f, struct pnode *n)  pnode_printvarlistentry(struct format *f, struct pnode *n)
 {  {
         struct pnode    *nc;          struct pnode    *nc, *nn;
         int              first = 1;          int              first = 1;
   
         macro_close(f);  
         macro_open(f, "It");          macro_open(f, "It");
         f->flags |= FMT_IMPL;          f->flags |= FMT_IMPL;
         TAILQ_FOREACH(nc, &n->childq, child) {          TAILQ_FOREACH_SAFE(nc, &n->childq, child, nn) {
                 if (nc->node != NODE_TERM && nc->node != NODE_GLOSSTERM)                  if (nc->node != NODE_TERM && nc->node != NODE_GLOSSTERM)
                         continue;                          continue;
                 if ( ! first)                  if (first == 0) {
                         macro_addarg(f, ",", 0);                          switch (f->linestate) {
                           case LINE_NEW:
                                   break;
                           case LINE_TEXT:
                                   print_text(f, ",", 0);
                                   break;
                           case LINE_MACRO:
                                   macro_addarg(f, ",", 0);
                                   break;
                           }
                   }
                 pnode_print(f, nc);                  pnode_print(f, nc);
                   pnode_unlink(nc);
                 first = 0;                  first = 0;
         }          }
         macro_close(f);          macro_close(f);
         TAILQ_FOREACH(nc, &n->childq, child)          while ((nc = TAILQ_FIRST(&n->childq)) != NULL) {
                 if (nc->node != NODE_TERM && nc->node != NODE_GLOSSTERM)                  pnode_print(f, nc);
                         pnode_print(f, nc);                  pnode_unlink(nc);
         pnode_unlinksub(n);          }
           macro_close(f);
 }  }
   
 static void  static void

Legend:
Removed from v.1.107  
changed lines
  Added in v.1.109

CVSweb