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

Diff for /mandoc/roff_escape.c between version 1.12 and 1.13

version 1.12, 2022/06/06 19:23:13 version 1.13, 2022/06/07 09:54:40
Line 272  roff_escape(const char *buf, const int ln, const int a
Line 272  roff_escape(const char *buf, const int ln, const int a
         if (term == '\b') {          if (term == '\b') {
                 if (strchr("BDHLRSvxNhl", buf[inam]) != NULL &&                  if (strchr("BDHLRSvxNhl", buf[inam]) != NULL &&
                     strchr(" %&()*+-./0123456789:<=>", buf[iarg]) != NULL) {                      strchr(" %&()*+-./0123456789:<=>", buf[iarg]) != NULL) {
                           err = MANDOCERR_ESC_DELIM;
                         if (rval != ESCAPE_EXPAND)                          if (rval != ESCAPE_EXPAND)
                                 rval = ESCAPE_ERROR;                                  rval = ESCAPE_ERROR;
                         if (buf[inam] != 'D') {                          if (buf[inam] != 'D') {
Line 291  roff_escape(const char *buf, const int ln, const int a
Line 292  roff_escape(const char *buf, const int ln, const int a
                 case '[':                  case '[':
                         if (buf[++iarg] == ' ') {                          if (buf[++iarg] == ' ') {
                                 iendarg = iend = iarg + 1;                                  iendarg = iend = iarg + 1;
                                   err = MANDOCERR_ESC_ARG;
                                 rval = ESCAPE_ERROR;                                  rval = ESCAPE_ERROR;
                                 goto out;                                  goto out;
                         }                          }
Line 368  roff_escape(const char *buf, const int ln, const int a
Line 370  roff_escape(const char *buf, const int ln, const int a
                 case '2':                  case '2':
                 case '3':                  case '3':
                 case '4':                  case '4':
                         rval = argl == 1 ? ESCAPE_IGNORE : ESCAPE_ERROR;                          if (argl == 1)
                                   rval = ESCAPE_IGNORE;
                           else {
                                   err = MANDOCERR_ESC_ARG;
                                   rval = ESCAPE_ERROR;
                           }
                         break;                          break;
                 case '5':                  case '5':
                         rval = buf[iarg - 1] == '[' ? ESCAPE_UNSUPP :                          if (buf[iarg - 1] == '[')
                             ESCAPE_ERROR;                                  rval = ESCAPE_UNSUPP;
                           else {
                                   err = MANDOCERR_ESC_ARG;
                                   rval = ESCAPE_ERROR;
                           }
                         break;                          break;
                 default:                  default:
                           err = MANDOCERR_ESC_ARG;
                         rval = ESCAPE_ERROR;                          rval = ESCAPE_ERROR;
                         break;                          break;
                 }                  }
Line 386  roff_escape(const char *buf, const int ln, const int a
Line 398  roff_escape(const char *buf, const int ln, const int a
         switch (rval) {          switch (rval) {
         case ESCAPE_FONT:          case ESCAPE_FONT:
                 rval = mandoc_font(buf + iarg, argl);                  rval = mandoc_font(buf + iarg, argl);
                   if (rval == ESCAPE_ERROR)
                           err = MANDOCERR_ESC_ARG;
                 break;                  break;
   
         case ESCAPE_SPECIAL:          case ESCAPE_SPECIAL:
Line 487  out:
Line 501  out:
   
         *resc = iesc;          *resc = iesc;
         switch (rval) {          switch (rval) {
         case ESCAPE_ERROR:  
                 if (err == MANDOCERR_OK)  
                         err = MANDOCERR_ESC_BAD;  
                 break;  
         case ESCAPE_UNSUPP:          case ESCAPE_UNSUPP:
                 err = MANDOCERR_ESC_UNSUPP;                  err = MANDOCERR_ESC_UNSUPP;
                 break;                  break;

Legend:
Removed from v.1.12  
changed lines
  Added in v.1.13

CVSweb