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

Diff for /docbook2mdoc/docbook2mdoc.c between version 1.120 and 1.126

version 1.120, 2019/04/14 14:00:16 version 1.126, 2019/04/14 22:37:56
Line 126  pnode_printtext(struct format *f, struct pnode *n)
Line 126  pnode_printtext(struct format *f, struct pnode *n)
 }  }
   
 static void  static void
   pnode_printimagedata(struct format *f, struct pnode *n)
   {
           const char      *cp;
   
           if ((cp = pnode_getattr_raw(n, ATTRKEY_FILEREF, NULL)) == NULL)
                   cp = pnode_getattr_raw(n, ATTRKEY_ENTITYREF, NULL);
           if (cp != NULL) {
                   print_text(f, "[image:", ARG_SPACE);
                   print_text(f, cp, ARG_SPACE);
                   print_text(f, "]", 0);
           } else
                   print_text(f, "[image]", ARG_SPACE);
   }
   
   static void
 pnode_printpara(struct format *f, struct pnode *n)  pnode_printpara(struct format *f, struct pnode *n)
 {  {
         struct pnode    *np;          struct pnode    *np;
Line 140  pnode_printpara(struct format *f, struct pnode *n)
Line 155  pnode_printpara(struct format *f, struct pnode *n)
   
         switch (np->node) {          switch (np->node) {
         case NODE_ENTRY:          case NODE_ENTRY:
           case NODE_FOOTNOTE:
         case NODE_GLOSSTERM:          case NODE_GLOSSTERM:
         case NODE_LISTITEM:          case NODE_LISTITEM:
         case NODE_TERM:          case NODE_TERM:
Line 210  pnode_printsection(struct format *f, struct pnode *n)
Line 226  pnode_printsection(struct format *f, struct pnode *n)
   
         level = ++f->level;          level = ++f->level;
         flags = ARG_SPACE;          flags = ARG_SPACE;
         if (level == 1)          switch (n->node) {
                 flags |= ARG_UPPER;          case NODE_PREFACE:
         if (level < 3) {          case NODE_SECTION:
                 switch (n->node) {          case NODE_APPENDIX:
                 case NODE_CAUTION:                  if (level == 1)
                 case NODE_NOTE:                          flags |= ARG_UPPER;
                 case NODE_TIP:                  break;
                 case NODE_WARNING:          case NODE_SIMPLESECT:
           case NODE_LEGALNOTICE:
                   if (level < 2)
                           level = 2;
                   break;
           default:
                   if (level < 3)
                         level = 3;                          level = 3;
                         break;                  break;
                 default:  
                         break;  
                 }  
         }          }
   
         TAILQ_FOREACH(nc, &n->childq, child)          TAILQ_FOREACH(nc, &n->childq, child)
Line 1061  pnode_print(struct format *f, struct pnode *n)
Line 1080  pnode_print(struct format *f, struct pnode *n)
         case NODE_CONSTANT:          case NODE_CONSTANT:
                 macro_open(f, "Dv");                  macro_open(f, "Dv");
                 break;                  break;
           case NODE_COPYRIGHT:
                   print_text(f, "Copyright", ARG_SPACE);
                   fputs(" \\(co", stdout);
                   break;
         case NODE_EDITOR:          case NODE_EDITOR:
                 print_text(f, "editor:", ARG_SPACE);                  print_text(f, "editor:", ARG_SPACE);
                 macro_open(f, "An");                  pnode_printauthor(f, n);
                 break;                  break;
         case NODE_EMAIL:          case NODE_EMAIL:
                 if (was_impl)                  if (was_impl)
Line 1076  pnode_print(struct format *f, struct pnode *n)
Line 1099  pnode_print(struct format *f, struct pnode *n)
         case NODE_EMPHASIS:          case NODE_EMPHASIS:
         case NODE_FIRSTTERM:          case NODE_FIRSTTERM:
         case NODE_GLOSSTERM:          case NODE_GLOSSTERM:
                 macro_open(f, "Em");                  if ((nc = TAILQ_FIRST(&n->childq)) != NULL &&
                       pnode_class(nc->node) < CLASS_LINE)
                           macro_open(f, "Em");
                 break;                  break;
         case NODE_ENVAR:          case NODE_ENVAR:
                 macro_open(f, "Ev");                  macro_open(f, "Ev");
Line 1087  pnode_print(struct format *f, struct pnode *n)
Line 1112  pnode_print(struct format *f, struct pnode *n)
         case NODE_FILENAME:          case NODE_FILENAME:
                 macro_open(f, "Pa");                  macro_open(f, "Pa");
                 break;                  break;
           case NODE_FOOTNOTE:
                   macro_line(f, "Bo");
                   break;
         case NODE_FUNCTION:          case NODE_FUNCTION:
                 macro_open(f, "Fn");                  macro_open(f, "Fn");
                 break;                  break;
Line 1096  pnode_print(struct format *f, struct pnode *n)
Line 1124  pnode_print(struct format *f, struct pnode *n)
         case NODE_FUNCSYNOPSISINFO:          case NODE_FUNCSYNOPSISINFO:
                 macro_open(f, "Fd");                  macro_open(f, "Fd");
                 break;                  break;
           case NODE_IMAGEDATA:
                   pnode_printimagedata(f, n);
                   break;
         case NODE_INFORMALEQUATION:          case NODE_INFORMALEQUATION:
                 macro_line(f, "Bd -ragged -offset indent");                  macro_line(f, "Bd -ragged -offset indent");
                 /* FALLTHROUGH */                  /* FALLTHROUGH */
Line 1115  pnode_print(struct format *f, struct pnode *n)
Line 1146  pnode_print(struct format *f, struct pnode *n)
                 pnode_printlink(f, n);                  pnode_printlink(f, n);
                 break;                  break;
         case NODE_LITERAL:          case NODE_LITERAL:
                 if (was_impl)                  if (n->parent != NULL && n->parent->node == NODE_QUOTE)
                         macro_open(f, "So");                          macro_open(f, "Li");
                   else if (was_impl)
                           macro_open(f, "So Li");
                 else {                  else {
                         macro_open(f, "Ql");                          macro_open(f, "Ql");
                         f->flags |= FMT_IMPL;                          f->flags |= FMT_IMPL;
Line 1147  pnode_print(struct format *f, struct pnode *n)
Line 1180  pnode_print(struct format *f, struct pnode *n)
                 pnode_printmath(f, n);                  pnode_printmath(f, n);
                 break;                  break;
         case NODE_OPTION:          case NODE_OPTION:
                 macro_open(f, "Fl");                  if ((nc = TAILQ_FIRST(&n->childq)) != NULL &&
                       pnode_class(nc->node) < CLASS_LINE)
                           macro_open(f, "Fl");
                 break;                  break;
         case NODE_ORDEREDLIST:          case NODE_ORDEREDLIST:
                 pnode_printlist(f, n);                  pnode_printlist(f, n);
Line 1196  pnode_print(struct format *f, struct pnode *n)
Line 1231  pnode_print(struct format *f, struct pnode *n)
                 break;                  break;
         case NODE_PREFACE:          case NODE_PREFACE:
         case NODE_SECTION:          case NODE_SECTION:
           case NODE_SIMPLESECT:
         case NODE_APPENDIX:          case NODE_APPENDIX:
         case NODE_LEGALNOTICE:          case NODE_LEGALNOTICE:
         case NODE_NOTE:          case NODE_NOTE:
Line 1210  pnode_print(struct format *f, struct pnode *n)
Line 1246  pnode_print(struct format *f, struct pnode *n)
         case NODE_SBR:          case NODE_SBR:
                 macro_line(f, "br");                  macro_line(f, "br");
                 break;                  break;
           case NODE_SUBSCRIPT:
                   if (f->linestate == LINE_MACRO)
                           macro_addarg(f, "_", 0);
                   else
                           print_text(f, "_", 0);
                   if ((nc = TAILQ_FIRST(&n->childq)) != NULL)
                           nc->spc = 0;
                   break;
           case NODE_SUPERSCRIPT:
                   fputs("\\(ha", stdout);
                   if ((nc = TAILQ_FIRST(&n->childq)) != NULL)
                           nc->spc = 0;
                   break;
         case NODE_TEXT:          case NODE_TEXT:
         case NODE_ESCAPE:          case NODE_ESCAPE:
                 pnode_printtext(f, n);                  pnode_printtext(f, n);
Line 1218  pnode_print(struct format *f, struct pnode *n)
Line 1267  pnode_print(struct format *f, struct pnode *n)
                 pnode_printtgroup(f, n);                  pnode_printtgroup(f, n);
                 break;                  break;
         case NODE_TITLE:          case NODE_TITLE:
           case NODE_SUBTITLE:
                 pnode_printpara(f, n);                  pnode_printpara(f, n);
                 macro_nodeline(f, "Sy", n, 0);                  macro_nodeline(f, "Sy", n, 0);
                 pnode_unlinksub(n);                  pnode_unlinksub(n);
Line 1251  pnode_print(struct format *f, struct pnode *n)
Line 1301  pnode_print(struct format *f, struct pnode *n)
         case NODE_TEXT:          case NODE_TEXT:
                 /* Accept more arguments to the previous macro. */                  /* Accept more arguments to the previous macro. */
                 return;                  return;
           case NODE_FOOTNOTE:
                   macro_line(f, "Bc");
                   break;
         case NODE_INFORMALEQUATION:          case NODE_INFORMALEQUATION:
                 macro_line(f, "EN");                  macro_line(f, "EN");
                 macro_line(f, "Ed");                  macro_line(f, "Ed");
Line 1259  pnode_print(struct format *f, struct pnode *n)
Line 1312  pnode_print(struct format *f, struct pnode *n)
                 macro_line(f, "EN");                  macro_line(f, "EN");
                 break;                  break;
         case NODE_LITERAL:          case NODE_LITERAL:
                 if (was_impl) {                  if (n->parent != NULL && n->parent->node == NODE_QUOTE)
                           /* nothing */;
                   else if (was_impl) {
                         f->flags &= ~FMT_NOSPC;                          f->flags &= ~FMT_NOSPC;
                         macro_open(f, "Sc");                          macro_open(f, "Sc");
                 } else                  } else

Legend:
Removed from v.1.120  
changed lines
  Added in v.1.126

CVSweb