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

Diff for /mandoc/mdoc_state.c between version 1.1 and 1.5

version 1.1, 2015/10/20 02:01:32 version 1.5, 2017/04/24 23:06:18
Line 1 
Line 1 
 /*      $Id$ */  /*      $Id$ */
 /*  /*
  * Copyright (c) 2014, 2015 Ingo Schwarze <schwarze@openbsd.org>   * Copyright (c) 2014, 2015, 2017 Ingo Schwarze <schwarze@openbsd.org>
  *   *
  * Permission to use, copy, modify, and distribute this software for any   * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above   * purpose with or without fee is hereby granted, provided that the above
Line 30 
Line 30 
 typedef void    (*state_handler)(STATE_ARGS);  typedef void    (*state_handler)(STATE_ARGS);
   
 static  void     state_bd(STATE_ARGS);  static  void     state_bd(STATE_ARGS);
   static  void     state_bl(STATE_ARGS);
 static  void     state_dl(STATE_ARGS);  static  void     state_dl(STATE_ARGS);
 static  void     state_sh(STATE_ARGS);  static  void     state_sh(STATE_ARGS);
 static  void     state_sm(STATE_ARGS);  static  void     state_sm(STATE_ARGS);
   
 static  const state_handler state_handlers[MDOC_MAX] = {  static  const state_handler __state_handlers[MDOC_MAX - MDOC_Dd] = {
         NULL,           /* Ap */  
         NULL,           /* Dd */          NULL,           /* Dd */
         NULL,           /* Dt */          NULL,           /* Dt */
         NULL,           /* Os */          NULL,           /* Os */
Line 46  static const state_handler state_handlers[MDOC_MAX] = 
Line 46  static const state_handler state_handlers[MDOC_MAX] = 
         state_dl,       /* Dl */          state_dl,       /* Dl */
         state_bd,       /* Bd */          state_bd,       /* Bd */
         NULL,           /* Ed */          NULL,           /* Ed */
         NULL,           /* Bl */          state_bl,       /* Bl */
         NULL,           /* El */          NULL,           /* El */
         NULL,           /* It */          NULL,           /* It */
         NULL,           /* Ad */          NULL,           /* Ad */
         NULL,           /* An */          NULL,           /* An */
           NULL,           /* Ap */
         NULL,           /* Ar */          NULL,           /* Ar */
         NULL,           /* Cd */          NULL,           /* Cd */
         NULL,           /* Cm */          NULL,           /* Cm */
Line 159  static const state_handler state_handlers[MDOC_MAX] = 
Line 160  static const state_handler state_handlers[MDOC_MAX] = 
         NULL,           /* Ta */          NULL,           /* Ta */
         NULL,           /* ll */          NULL,           /* ll */
 };  };
   static const state_handler *const state_handlers = __state_handlers - MDOC_Dd;
   
   
 void  void
Line 194  state_bd(STATE_ARGS)
Line 196  state_bd(STATE_ARGS)
             (n->type != ROFFT_BODY || n->end != ENDBODY_NOT))              (n->type != ROFFT_BODY || n->end != ENDBODY_NOT))
                 return;                  return;
   
           if (n->parent->args == NULL)
                   return;
   
         arg = n->parent->args->argv[0].arg;          arg = n->parent->args->argv[0].arg;
         if (arg != MDOC_Literal && arg != MDOC_Unfilled)          if (arg != MDOC_Literal && arg != MDOC_Unfilled)
                 return;                  return;
Line 202  state_bd(STATE_ARGS)
Line 207  state_bd(STATE_ARGS)
 }  }
   
 static void  static void
   state_bl(STATE_ARGS)
   {
   
           if (n->type != ROFFT_HEAD || n->parent->args == NULL)
                   return;
   
           switch(n->parent->args->argv[0].arg) {
           case MDOC_Diag:
                   n->norm->Bl.type = LIST_diag;
                   break;
           case MDOC_Column:
                   n->norm->Bl.type = LIST_column;
                   break;
           default:
                   break;
           }
   }
   
   static void
 state_dl(STATE_ARGS)  state_dl(STATE_ARGS)
 {  {
   
Line 226  state_sh(STATE_ARGS)
Line 250  state_sh(STATE_ARGS)
         if (n->type != ROFFT_HEAD)          if (n->type != ROFFT_HEAD)
                 return;                  return;
   
         if ( ! (n->flags & MDOC_VALID)) {          if ( ! (n->flags & NODE_VALID)) {
                 secname = NULL;                  secname = NULL;
                 deroff(&secname, n);                  deroff(&secname, n);
   

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.5

CVSweb