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

Diff for /mandoc/mdoc_man.c between version 1.111 and 1.115

version 1.111, 2017/05/05 02:06:19 version 1.115, 2017/05/08 15:34:54
Line 33 
Line 33 
   
 #define DECL_ARGS const struct roff_meta *meta, struct roff_node *n  #define DECL_ARGS const struct roff_meta *meta, struct roff_node *n
   
   typedef int     (*int_fp)(DECL_ARGS);
   typedef void    (*void_fp)(DECL_ARGS);
   
 struct  manact {  struct  manact {
         int             (*cond)(DECL_ARGS); /* DON'T run actions */          int_fp            cond; /* DON'T run actions */
         int             (*pre)(DECL_ARGS); /* pre-node action */          int_fp            pre; /* pre-node action */
         void            (*post)(DECL_ARGS); /* post-node action */          void_fp           post; /* post-node action */
         const char       *prefix; /* pre-node string constant */          const char       *prefix; /* pre-node string constant */
         const char       *suffix; /* post-node string constant */          const char       *suffix; /* post-node string constant */
 };  };
Line 70  static void   post_nm(DECL_ARGS);
Line 73  static void   post_nm(DECL_ARGS);
 static  void      post_percent(DECL_ARGS);  static  void      post_percent(DECL_ARGS);
 static  void      post_pf(DECL_ARGS);  static  void      post_pf(DECL_ARGS);
 static  void      post_sect(DECL_ARGS);  static  void      post_sect(DECL_ARGS);
 static  void      post_sp(DECL_ARGS);  
 static  void      post_vt(DECL_ARGS);  static  void      post_vt(DECL_ARGS);
 static  int       pre__t(DECL_ARGS);  static  int       pre__t(DECL_ARGS);
 static  int       pre_an(DECL_ARGS);  static  int       pre_an(DECL_ARGS);
Line 80  static int   pre_bd(DECL_ARGS);
Line 82  static int   pre_bd(DECL_ARGS);
 static  int       pre_bf(DECL_ARGS);  static  int       pre_bf(DECL_ARGS);
 static  int       pre_bk(DECL_ARGS);  static  int       pre_bk(DECL_ARGS);
 static  int       pre_bl(DECL_ARGS);  static  int       pre_bl(DECL_ARGS);
 static  int       pre_br(DECL_ARGS);  static  void      pre_br(DECL_ARGS);
 static  int       pre_dl(DECL_ARGS);  static  int       pre_dl(DECL_ARGS);
 static  int       pre_en(DECL_ARGS);  static  int       pre_en(DECL_ARGS);
 static  int       pre_enc(DECL_ARGS);  static  int       pre_enc(DECL_ARGS);
Line 93  static int   pre_fd(DECL_ARGS);
Line 95  static int   pre_fd(DECL_ARGS);
 static  int       pre_fl(DECL_ARGS);  static  int       pre_fl(DECL_ARGS);
 static  int       pre_fn(DECL_ARGS);  static  int       pre_fn(DECL_ARGS);
 static  int       pre_fo(DECL_ARGS);  static  int       pre_fo(DECL_ARGS);
 static  int       pre_ft(DECL_ARGS);  static  void      pre_ft(DECL_ARGS);
 static  int       pre_Ft(DECL_ARGS);  static  int       pre_Ft(DECL_ARGS);
 static  int       pre_in(DECL_ARGS);  static  int       pre_in(DECL_ARGS);
 static  int       pre_it(DECL_ARGS);  static  int       pre_it(DECL_ARGS);
 static  int       pre_lk(DECL_ARGS);  static  int       pre_lk(DECL_ARGS);
 static  int       pre_li(DECL_ARGS);  static  int       pre_li(DECL_ARGS);
 static  int       pre_ll(DECL_ARGS);  
 static  int       pre_nm(DECL_ARGS);  static  int       pre_nm(DECL_ARGS);
 static  int       pre_no(DECL_ARGS);  static  int       pre_no(DECL_ARGS);
 static  int       pre_ns(DECL_ARGS);  static  int       pre_ns(DECL_ARGS);
   static  void      pre_onearg(DECL_ARGS);
 static  int       pre_pp(DECL_ARGS);  static  int       pre_pp(DECL_ARGS);
 static  int       pre_rs(DECL_ARGS);  static  int       pre_rs(DECL_ARGS);
 static  int       pre_sm(DECL_ARGS);  static  int       pre_sm(DECL_ARGS);
 static  int       pre_sp(DECL_ARGS);  static  void      pre_sp(DECL_ARGS);
 static  int       pre_sect(DECL_ARGS);  static  int       pre_sect(DECL_ARGS);
 static  int       pre_sy(DECL_ARGS);  static  int       pre_sy(DECL_ARGS);
 static  void      pre_syn(const struct roff_node *);  static  void      pre_syn(const struct roff_node *);
   static  void      pre_ta(DECL_ARGS);
 static  int       pre_vt(DECL_ARGS);  static  int       pre_vt(DECL_ARGS);
 static  int       pre_xr(DECL_ARGS);  static  int       pre_xr(DECL_ARGS);
 static  void      print_word(const char *);  static  void      print_word(const char *);
Line 121  static void   print_width(const struct mdoc_bl *,
Line 124  static void   print_width(const struct mdoc_bl *,
 static  void      print_count(int *);  static  void      print_count(int *);
 static  void      print_node(DECL_ARGS);  static  void      print_node(DECL_ARGS);
   
   static  const void_fp roff_manacts[ROFF_MAX] = {
           pre_br,
           pre_ft,
           pre_onearg,
           pre_sp,
           pre_ta,
           pre_onearg,
   };
   
 static  const struct manact __manacts[MDOC_MAX - MDOC_Dd] = {  static  const struct manact __manacts[MDOC_MAX - MDOC_Dd] = {
         { NULL, NULL, NULL, NULL, NULL }, /* Dd */          { NULL, NULL, NULL, NULL, NULL }, /* Dd */
         { NULL, NULL, NULL, NULL, NULL }, /* Dt */          { NULL, NULL, NULL, NULL, NULL }, /* Dt */
Line 240  static const struct manact __manacts[MDOC_MAX - MDOC_D
Line 252  static const struct manact __manacts[MDOC_MAX - MDOC_D
         { cond_body, pre_en, post_en, NULL, NULL }, /* En */          { cond_body, pre_en, post_en, NULL, NULL }, /* En */
         { NULL, NULL, NULL, NULL, NULL }, /* Dx */          { NULL, NULL, NULL, NULL, NULL }, /* Dx */
         { NULL, NULL, post_percent, NULL, NULL }, /* %Q */          { NULL, NULL, post_percent, NULL, NULL }, /* %Q */
         { NULL, pre_sp, post_sp, NULL, NULL }, /* sp */  
         { NULL, NULL, post_percent, NULL, NULL }, /* %U */          { NULL, NULL, post_percent, NULL, NULL }, /* %U */
         { NULL, NULL, NULL, NULL, NULL }, /* Ta */          { NULL, NULL, NULL, NULL, NULL }, /* Ta */
         { NULL, pre_ll, post_sp, NULL, NULL }, /* ll */  
 };  };
 static  const struct manact *const manacts = __manacts - MDOC_Dd;  static  const struct manact *const manacts = __manacts - MDOC_Dd;
   
Line 436  static void
Line 446  static void
 print_line(const char *s, int newflags)  print_line(const char *s, int newflags)
 {  {
   
         outflags &= ~MMAN_br;  
         outflags |= MMAN_nl;          outflags |= MMAN_nl;
         print_word(s);          print_word(s);
         outflags |= newflags;          outflags |= newflags;
Line 653  print_node(DECL_ARGS)
Line 662  print_node(DECL_ARGS)
                 else if (outflags & MMAN_Sm)                  else if (outflags & MMAN_Sm)
                         outflags |= MMAN_spc;                          outflags |= MMAN_spc;
         } else if (n->tok < ROFF_MAX) {          } else if (n->tok < ROFF_MAX) {
                 switch (n->tok) {                  (*roff_manacts[n->tok])(meta, n);
                 case ROFF_br:                  return;
                         do_sub = pre_br(meta, n);  
                         break;  
                 case ROFF_ft:  
                         do_sub = pre_ft(meta, n);  
                         break;  
                 default:  
                         abort();  
                 }  
         } else {          } else {
                 assert(n->tok >= MDOC_Dd && n->tok < MDOC_MAX);                  assert(n->tok >= MDOC_Dd && n->tok < MDOC_MAX);
                 /*                  /*
Line 1068  post_bl(DECL_ARGS)
Line 1069  post_bl(DECL_ARGS)
   
 }  }
   
 static int  static void
 pre_br(DECL_ARGS)  pre_br(DECL_ARGS)
 {  {
   
         outflags |= MMAN_br;          outflags |= MMAN_br;
         return 0;  
 }  }
   
 static int  static int
Line 1326  pre_Ft(DECL_ARGS)
Line 1325  pre_Ft(DECL_ARGS)
         return 1;          return 1;
 }  }
   
 static int  static void
 pre_ft(DECL_ARGS)  pre_ft(DECL_ARGS)
 {  {
         print_line(".ft", 0);          print_line(".ft", 0);
         print_word(n->child->string);          print_word(n->child->string);
         outflags |= MMAN_nl;          outflags |= MMAN_nl;
         return 0;  
 }  }
   
 static int  static int
Line 1567  pre_lk(DECL_ARGS)
Line 1565  pre_lk(DECL_ARGS)
         return 0;          return 0;
 }  }
   
 static int  static void
 pre_ll(DECL_ARGS)  pre_onearg(DECL_ARGS)
 {  {
           outflags |= MMAN_nl;
         print_line(".ll", 0);          print_word(".");
         return 1;          outflags &= ~MMAN_spc;
           print_word(roff_name[n->tok]);
           if (n->child != NULL)
                   print_word(n->child->string);
           outflags |= MMAN_nl;
 }  }
   
 static int  static int
Line 1696  pre_sm(DECL_ARGS)
Line 1698  pre_sm(DECL_ARGS)
         return 0;          return 0;
 }  }
   
 static int  static void
 pre_sp(DECL_ARGS)  pre_sp(DECL_ARGS)
 {  {
           if (outflags & MMAN_PP) {
         if (MMAN_PP & outflags) {  
                 outflags &= ~MMAN_PP;                  outflags &= ~MMAN_PP;
                 print_line(".PP", 0);                  print_line(".PP", 0);
         } else          } else {
                 print_line(".sp", 0);                  print_line(".sp", 0);
         return 1;                  if (n->child != NULL)
 }                          print_word(n->child->string);
           }
 static void  
 post_sp(DECL_ARGS)  
 {  
   
         outflags |= MMAN_nl;          outflags |= MMAN_nl;
 }  }
   
Line 1721  pre_sy(DECL_ARGS)
Line 1718  pre_sy(DECL_ARGS)
   
         font_push('B');          font_push('B');
         return 1;          return 1;
   }
   
   static void
   pre_ta(DECL_ARGS)
   {
           print_line(".ta", 0);
           for (n = n->child; n != NULL; n = n->next)
                   print_word(n->string);
           outflags |= MMAN_nl;
 }  }
   
 static int  static int

Legend:
Removed from v.1.111  
changed lines
  Added in v.1.115

CVSweb