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

Diff for /mandoc/mdoc.c between version 1.58 and 1.63

version 1.58, 2009/03/09 13:04:01 version 1.63, 2009/03/12 15:55:11
Line 72  const char *const __mdoc_macronames[MDOC_MAX] = {   
Line 72  const char *const __mdoc_macronames[MDOC_MAX] = {   
         "Fo",           "Fc",           "Oo",           "Oc",          "Fo",           "Fc",           "Oo",           "Oc",
         "Bk",           "Ek",           "Bt",           "Hf",          "Bk",           "Ek",           "Bt",           "Hf",
         "Fr",           "Ud",           "Lb",           "Ap",          "Fr",           "Ud",           "Lb",           "Ap",
         "Lp"          "Lp",           "Lk",           "Mt",           "Brq",
           "Bro",          "Brc"
         };          };
   
 const   char *const __mdoc_argnames[MDOC_ARG_MAX] = {  const   char *const __mdoc_argnames[MDOC_ARG_MAX] = {
Line 501  macrowarn(struct mdoc *m, int ln, const char *buf)
Line 502  macrowarn(struct mdoc *m, int ln, const char *buf)
 {  {
         if ( ! (MDOC_IGN_MACRO & m->pflags))          if ( ! (MDOC_IGN_MACRO & m->pflags))
                 return(mdoc_perr(m, ln, 1, "unknown macro: %s%s",                  return(mdoc_perr(m, ln, 1, "unknown macro: %s%s",
                                 buf, buf[3] ? "..." : ""));                                  buf, strlen(buf) > 3 ? "..." : ""));
         return(mdoc_pwarn(m, ln, 1, WARN_SYNTAX,          return(mdoc_pwarn(m, ln, 1, WARN_SYNTAX,
                                 "unknown macro: %s%s",                                  "unknown macro: %s%s",
                                 buf, buf[3] ? "..." : ""));                                  buf, strlen(buf) > 3 ? "..." : ""));
 }  }
   
   
Line 519  parsemacro(struct mdoc *m, int ln, char *buf)
Line 520  parsemacro(struct mdoc *m, int ln, char *buf)
         int               i, c;          int               i, c;
         char              mac[5];          char              mac[5];
   
         /* Comments are quickly ignored. */          /* Comments and empties are quickly ignored. */
   
           if (0 == buf[1])
                   return(1);
   
           if (isspace((unsigned char)buf[1])) {
                   i = 2;
                   while (buf[i] && isspace((unsigned char)buf[i]))
                           i++;
                   if (0 == buf[i])
                           return(1);
                   return(mdoc_perr(m, ln, 1, "invalid syntax"));
           }
   
         if (buf[1] && '\\' == buf[1])          if (buf[1] && '\\' == buf[1])
                 if (buf[2] && '\"' == buf[2])                  if (buf[2] && '\"' == buf[2])
                         return(1);                          return(1);
Line 533  parsemacro(struct mdoc *m, int ln, char *buf)
Line 546  parsemacro(struct mdoc *m, int ln, char *buf)
                 else if (isspace((unsigned char)buf[i]))                  else if (isspace((unsigned char)buf[i]))
                         break;                          break;
         }          }
   
         /* FIXME: be able to skip unknown macro lines! */  
   
         mac[i - 1] = 0;          mac[i - 1] = 0;
   

Legend:
Removed from v.1.58  
changed lines
  Added in v.1.63

CVSweb