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

Diff for /mandoc/mdoc_argv.c between version 1.23 and 1.26

version 1.23, 2009/08/20 08:59:12 version 1.26, 2009/09/24 13:03:32
Line 60  static int mdoc_argvflags[MDOC_ARG_MAX] = {
Line 60  static int mdoc_argvflags[MDOC_ARG_MAX] = {
         ARGV_NONE,      /* MDOC_Unfilled */          ARGV_NONE,      /* MDOC_Unfilled */
         ARGV_NONE,      /* MDOC_Literal */          ARGV_NONE,      /* MDOC_Literal */
         ARGV_NONE,      /* MDOC_File */          ARGV_NONE,      /* MDOC_File */
         ARGV_SINGLE,    /* MDOC_Offset */          ARGV_OPT_SINGLE, /* MDOC_Offset */
         ARGV_NONE,      /* MDOC_Bullet */          ARGV_NONE,      /* MDOC_Bullet */
         ARGV_NONE,      /* MDOC_Dash */          ARGV_NONE,      /* MDOC_Dash */
         ARGV_NONE,      /* MDOC_Hyphen */          ARGV_NONE,      /* MDOC_Hyphen */
Line 74  static int mdoc_argvflags[MDOC_ARG_MAX] = {
Line 74  static int mdoc_argvflags[MDOC_ARG_MAX] = {
         ARGV_MULTI,     /* MDOC_Column */          ARGV_MULTI,     /* MDOC_Column */
         ARGV_SINGLE,    /* MDOC_Width */          ARGV_SINGLE,    /* MDOC_Width */
         ARGV_NONE,      /* MDOC_Compact */          ARGV_NONE,      /* MDOC_Compact */
         ARGV_OPT_SINGLE, /* MDOC_Std */          ARGV_NONE,      /* MDOC_Std */
         ARGV_NONE,      /* MDOC_Filled */          ARGV_NONE,      /* MDOC_Filled */
         ARGV_NONE,      /* MDOC_Words */          ARGV_NONE,      /* MDOC_Words */
         ARGV_NONE,      /* MDOC_Emphasis */          ARGV_NONE,      /* MDOC_Emphasis */
Line 309  mdoc_argv_free(struct mdoc_arg *p)
Line 309  mdoc_argv_free(struct mdoc_arg *p)
         for (i = 0; i < (int)p->argc; i++) {          for (i = 0; i < (int)p->argc; i++) {
                 if (0 == p->argv[i].sz)                  if (0 == p->argv[i].sz)
                         continue;                          continue;
                   if (NULL == p->argv[i].value)
                           continue;
   
                 /* LINTED */                  /* LINTED */
                 for (j = 0; j < (int)p->argv[i].sz; j++)                  for (j = 0; j < (int)p->argv[i].sz; j++)
                         free(p->argv[i].value[j]);                          if (p->argv[i].value[j])
                                   free(p->argv[i].value[j]);
   
                 free(p->argv[i].value);                  free(p->argv[i].value);
         }          }
Line 374  args(struct mdoc *m, int line, int *pos, 
Line 378  args(struct mdoc *m, int line, int *pos, 
 {  {
         int               i;          int               i;
         char             *p, *pp;          char             *p, *pp;
   
           /*
            * Parse out the terms (like `val' in `.Xx -arg val' or simply
            * `.Xx val'), which can have all sorts of properties:
            *
            *   ARGS_DELIM: use special handling if encountering trailing
            *   delimiters in the form of [[::delim::][ ]+]+.
            *
            *   ARGS_NOWARN: don't post warnings.  This is only used when
            *   re-parsing delimiters, as the warnings have already been
            *   posted.
            *
            *   ARGS_TABSEP: use special handling for tab/`Ta' separated
            *   phrases like in `Bl -column'.
            */
   
         assert(*pos);          assert(*pos);
         assert(' ' != buf[*pos]);          assert(' ' != buf[*pos]);

Legend:
Removed from v.1.23  
changed lines
  Added in v.1.26

CVSweb