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

Diff for /mandoc/man.c between version 1.62 and 1.65

version 1.62, 2010/05/08 07:30:19 version 1.65, 2010/05/12 16:46:28
Line 395  man_ptext(struct man *m, int line, char *buf)
Line 395  man_ptext(struct man *m, int line, char *buf)
                 goto descope;                  goto descope;
         }          }
   
         /* Warn if the last un-escaped character is whitespace. */          /*
            * Warn if the last un-escaped character is whitespace. Then
            * strip away the remaining spaces (tabs stay!).
            */
   
         i = (int)strlen(buf);          i = (int)strlen(buf);
         assert(i);          assert(i);
   
         if (' ' == buf[i - 1] || '\t' == buf[i - 1])          if (' ' == buf[i - 1] || '\t' == buf[i - 1]) {
                 if (1 == i || ('\\' != buf[i - 2]))                  if (i > 1 && '\\' != buf[i - 2])
                         if ( ! man_pwarn(m, line, i - 1, WTSPACE))                          if ( ! man_pwarn(m, line, i - 1, WTSPACE))
                                 return(0);                                  return(0);
   
                   for (--i; i && ' ' == buf[i]; i--)
                           /* Spin back to non-space. */ ;
   
                   /* Jump ahead of escaped whitespace. */
                   i += '\\' == buf[i] ? 2 : 1;
   
                   buf[i] = '\0';
           }
   
         if ( ! man_word_alloc(m, line, 0, buf))          if ( ! man_word_alloc(m, line, 0, buf))
                 return(0);                  return(0);
   
           /*
            * End-of-sentence check.  If the last character is an unescaped
            * EOS character, then flag the node as being the end of a
            * sentence.  The front-end will know how to interpret this.
            */
   
           assert(i);
   
           switch (buf[i - 1]) {
           case ('.'):
                   if (i > 1 && '\\' == buf[i - 2])
                           break;
                   /* FALLTHROUGH */
           case ('!'):
                   /* FALLTHROUGH */
           case ('?'):
                   m->last->flags |= MAN_EOS;
                   break;
           default:
                   break;
   
           }
   
 descope:  descope:
         /*          /*

Legend:
Removed from v.1.62  
changed lines
  Added in v.1.65

CVSweb