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

Diff for /mandoc/mdoc_macro.c between version 1.153 and 1.154

version 1.153, 2014/11/29 03:37:44 version 1.154, 2014/11/29 04:31:35
Line 57  static enum mdoct lookup(enum mdoct, const char *);
Line 57  static enum mdoct lookup(enum mdoct, const char *);
 static  int             macro_or_word(MACRO_PROT_ARGS, int);  static  int             macro_or_word(MACRO_PROT_ARGS, int);
 static  int             make_pending(struct mdoc_node *, enum mdoct,  static  int             make_pending(struct mdoc_node *, enum mdoct,
                                 struct mdoc *, int, int);                                  struct mdoc *, int, int);
 static  void            phrase(struct mdoc *, int, int *, char *);  static  int             parse_rest(struct mdoc *, enum mdoct,
                                   int, int *, char *);
 static  enum mdoct      rew_alt(enum mdoct);  static  enum mdoct      rew_alt(enum mdoct);
 static  enum rew        rew_dohalt(enum mdoct, enum mdoc_type,  static  enum rew        rew_dohalt(enum mdoct, enum mdoc_type,
                                 const struct mdoc_node *);                                  const struct mdoc_node *);
Line 1181  blk_full(MACRO_PROT_ARGS)
Line 1182  blk_full(MACRO_PROT_ARGS)
                                 mdoc->flags |= MDOC_PPHRASE;                                  mdoc->flags |= MDOC_PPHRASE;
                         if (ac == ARGS_PEND && lac == ARGS_PPHRASE)                          if (ac == ARGS_PEND && lac == ARGS_PPHRASE)
                                 mdoc->flags |= MDOC_PPHRASE;                                  mdoc->flags |= MDOC_PPHRASE;
                         phrase(mdoc, line, &la, buf);                          parse_rest(mdoc, MDOC_MAX, line, &la, buf);
                         mdoc->flags &= ~MDOC_PPHRASE;                          mdoc->flags &= ~MDOC_PPHRASE;
                         continue;                          continue;
                 }                  }
Line 1473  in_line_argn(MACRO_PROT_ARGS)
Line 1474  in_line_argn(MACRO_PROT_ARGS)
 static void  static void
 in_line_eoln(MACRO_PROT_ARGS)  in_line_eoln(MACRO_PROT_ARGS)
 {  {
         int              la;  
         struct mdoc_arg *arg;          struct mdoc_arg *arg;
   
         if (tok == MDOC_Pp)          if (tok == MDOC_Pp)
Line 1481  in_line_eoln(MACRO_PROT_ARGS)
Line 1481  in_line_eoln(MACRO_PROT_ARGS)
   
         mdoc_argv(mdoc, line, tok, &arg, pos, buf);          mdoc_argv(mdoc, line, tok, &arg, pos, buf);
         mdoc_elem_alloc(mdoc, line, ppos, tok, arg);          mdoc_elem_alloc(mdoc, line, ppos, tok, arg);
           if (parse_rest(mdoc, tok, line, pos, buf))
                   return;
           rew_elem(mdoc, tok);
   }
   
   /*
    * The simplest argument parser available: Parse the remaining
    * words until the end of the phrase or line and return 0
    * or until the next macro, call that macro, and return 1.
    */
   static int
   parse_rest(struct mdoc *mdoc, enum mdoct tok, int line, int *pos, char *buf)
   {
           int              la;
   
         for (;;) {          for (;;) {
                 la = *pos;                  la = *pos;
                 if (mdoc_args(mdoc, line, pos, buf, tok, NULL) == ARGS_EOLN)                  if (mdoc_args(mdoc, line, pos, buf, tok, NULL) == ARGS_EOLN)
                         break;                          return(0);
                 if (macro_or_word(mdoc, tok, line, la, pos, buf, 1))                  if (macro_or_word(mdoc, tok, line, la, pos, buf, 1))
                         return;                          return(1);
         }          }
         rew_elem(mdoc, tok);  
 }  }
   
 static void  static void
Line 1512  ctx_synopsis(MACRO_PROT_ARGS)
Line 1525  ctx_synopsis(MACRO_PROT_ARGS)
  * macro is encountered.   * macro is encountered.
  */   */
 static void  static void
 phrase(struct mdoc *mdoc, int line, int *pos, char *buf)  
 {  
         int              la;  
   
         do  
                 la = *pos;  
         while (mdoc_args(mdoc, line, pos, buf, MDOC_MAX, NULL) != ARGS_EOLN &&  
             !macro_or_word(mdoc, MDOC_MAX, line, la, pos, buf, 1));  
 }  
   
 static void  
 phrase_ta(MACRO_PROT_ARGS)  phrase_ta(MACRO_PROT_ARGS)
 {  {
         struct mdoc_node *n;          struct mdoc_node *n;
Line 1542  phrase_ta(MACRO_PROT_ARGS)
Line 1544  phrase_ta(MACRO_PROT_ARGS)
   
         rew_sub(MDOC_BODY, mdoc, MDOC_It, line, ppos);          rew_sub(MDOC_BODY, mdoc, MDOC_It, line, ppos);
         mdoc_body_alloc(mdoc, line, ppos, MDOC_It);          mdoc_body_alloc(mdoc, line, ppos, MDOC_It);
         phrase(mdoc, line, pos, buf);          parse_rest(mdoc, MDOC_MAX, line, pos, buf);
 }  }

Legend:
Removed from v.1.153  
changed lines
  Added in v.1.154

CVSweb