[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.51 and 1.52

version 1.51, 2010/05/31 10:28:04 version 1.52, 2010/05/31 13:39:13
Line 227  mdoc_argv(struct mdoc *m, int line, enum mdoct tok,
Line 227  mdoc_argv(struct mdoc *m, int line, enum mdoct tok,
         struct mdoc_argv tmp;          struct mdoc_argv tmp;
         struct mdoc_arg  *arg;          struct mdoc_arg  *arg;
   
         if (0 == buf[*pos])          if ('\0' == buf[*pos])
                 return(ARGV_EOLN);                  return(ARGV_EOLN);
   
         assert(' ' != buf[*pos]);          assert(' ' != buf[*pos]);
Line 248  mdoc_argv(struct mdoc *m, int line, enum mdoct tok,
Line 248  mdoc_argv(struct mdoc *m, int line, enum mdoct tok,
   
         /* XXX - save zeroed byte, if not an argument. */          /* XXX - save zeroed byte, if not an argument. */
   
         sv = 0;          sv = '\0';
         if (buf[*pos]) {          if (buf[*pos]) {
                 sv = buf[*pos];                  sv = buf[*pos];
                 buf[(*pos)++] = 0;                  buf[(*pos)++] = '\0';
         }          }
   
         (void)memset(&tmp, 0, sizeof(struct mdoc_argv));          (void)memset(&tmp, 0, sizeof(struct mdoc_argv));
Line 372  static enum margserr
Line 372  static enum margserr
 args(struct mdoc *m, int line, int *pos,  args(struct mdoc *m, int line, int *pos,
                 char *buf, int fl, char **v)                  char *buf, int fl, char **v)
 {  {
         int               i;          int              i;
         char             *p, *pp;          char            *p, *pp;
         enum margserr     rc;          enum margserr    rc;
           enum mdelim      d;
   
         /*          /*
          * Parse out the terms (like `val' in `.Xx -arg val' or simply           * Parse out the terms (like `val' in `.Xx -arg val' or simply
Line 391  args(struct mdoc *m, int line, int *pos, 
Line 392  args(struct mdoc *m, int line, int *pos, 
          *   phrases like in `Bl -column'.           *   phrases like in `Bl -column'.
          */           */
   
         assert(*pos);  
         assert(' ' != buf[*pos]);          assert(' ' != buf[*pos]);
   
         if ('\0' == buf[*pos]) {          if ('\0' == buf[*pos]) {
Line 419  args(struct mdoc *m, int line, int *pos, 
Line 419  args(struct mdoc *m, int line, int *pos, 
   
         if ((fl & ARGS_DELIM) && DELIM_CLOSE == mdoc_iscdelim(buf[*pos])) {          if ((fl & ARGS_DELIM) && DELIM_CLOSE == mdoc_iscdelim(buf[*pos])) {
                 for (i = *pos; buf[i]; ) {                  for (i = *pos; buf[i]; ) {
                         enum mdelim d = mdoc_iscdelim(buf[i]);                          d = mdoc_iscdelim(buf[i]);
                         if (DELIM_NONE == d || DELIM_OPEN == d)                          if (DELIM_NONE == d || DELIM_OPEN == d)
                                 break;                                  break;
                         i++;                          i++;
Line 432  args(struct mdoc *m, int line, int *pos, 
Line 432  args(struct mdoc *m, int line, int *pos, 
   
                 if ('\0' == buf[i]) {                  if ('\0' == buf[i]) {
                         *v = &buf[*pos];                          *v = &buf[*pos];
                         if (' ' != buf[i - 1])                          if (i && ' ' != buf[i - 1])
                                 return(ARGS_PUNCT);                                  return(ARGS_PUNCT);
                         if (ARGS_NOWARN & fl)                          if (ARGS_NOWARN & fl)
                                 return(ARGS_PUNCT);                                  return(ARGS_PUNCT);
Line 490  args(struct mdoc *m, int line, int *pos, 
Line 490  args(struct mdoc *m, int line, int *pos, 
                 }                  }
   
                 /* Whitespace check for eoln case... */                  /* Whitespace check for eoln case... */
                 if (0 == *p && ' ' == *(p - 1) && ! (ARGS_NOWARN & fl))                  if ('\0' == *p && ' ' == *(p - 1) && ! (ARGS_NOWARN & fl))
                         if ( ! mdoc_pmsg(m, line, *pos, MANDOCERR_EOLNSPACE))                          if ( ! mdoc_pmsg(m, line, *pos, MANDOCERR_EOLNSPACE))
                                 return(ARGS_ERROR);                                  return(ARGS_ERROR);
   
Line 563  args(struct mdoc *m, int line, int *pos, 
Line 563  args(struct mdoc *m, int line, int *pos, 
          */           */
   
         for ( ; buf[*pos]; (*pos)++)          for ( ; buf[*pos]; (*pos)++)
                 if (' ' == buf[*pos] && '\\' != buf[*pos - 1])                  if (*pos && ' ' == buf[*pos] && '\\' != buf[*pos - 1])
                         break;                          break;
   
         if ('\0' == buf[*pos])          if ('\0' == buf[*pos])

Legend:
Removed from v.1.51  
changed lines
  Added in v.1.52

CVSweb