Develop and Download Open Source Software

Browse Subversion Repository

Diff of /trunk/teraterm/teraterm/vtterm.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 4687 by doda, Mon Oct 24 12:36:52 2011 UTC revision 4696 by doda, Mon Oct 31 16:40:10 2011 UTC
# Line 3444  void XsProcColor(int mode, unsigned int Line 3444  void XsProcColor(int mode, unsigned int
3444  #define ModeXsColorNum  3  #define ModeXsColorNum  3
3445  #define ModeXsColorSpec 4  #define ModeXsColorSpec 4
3446  #define ModeXsEsc       5  #define ModeXsEsc       5
3447    #define ModeXsIgnore    6
3448  void XSequence(BYTE b)  void XSequence(BYTE b)
3449  {  {
3450          static BYTE XsParseMode = ModeXsFirst, PrevMode;          static BYTE XsParseMode = ModeXsFirst, PrevMode;
# Line 3467  void XSequence(BYTE b) Line 3468  void XSequence(BYTE b)
3468                          case 11:                          case 11:
3469                          case 15:                          case 15:
3470                          case 16:                          case 16:
                                 XsParseMode = ModeXsColorSpec;  
3471                                  ColorNumber = 0;                                  ColorNumber = 0;
3472                                  StrBuff[0] = '\0';                                  XsParseMode = ModeXsColorSpec;
                                 StrLen = 0;  
3473                                  break;                                  break;
3474                          default:                          default:
3475                                  XsParseMode = ModeXsString;                                  XsParseMode = ModeXsString;
3476                          }                          }
3477                  }                  }
3478                  else {                  else {
3479                          // Invalid Sequence. Ignore.                          XsParseMode = ModeXsIgnore;
3480                          Param[1] = 0xFFFFFFFF;                          XSequence(b);
                         StrBuff[0] = '\0';  
                         StrLen = 0;  
                         XsParseMode = ModeXsString;  
3481                  }                  }
3482                  break;                  break;
3483            case ModeXsString:            case ModeXsString:
# Line 3522  void XSequence(BYTE b) Line 3518  void XSequence(BYTE b)
3518                  }                  }
3519                  else if (b == ';') {                  else if (b == ';') {
3520                          XsParseMode = ModeXsColorSpec;                          XsParseMode = ModeXsColorSpec;
                         StrBuff[0] = '\0';  
                         StrLen = 0;  
3521                  }                  }
3522                  else {                  else {
3523                          Param[1] = 0xFFFFFFFF;                          XsParseMode = ModeXsIgnore;
3524                          StrBuff[0] = '\0';                          XSequence(b);
                         StrLen = 0;  
                         XsParseMode = ModeXsString;  
3525                  }                  }
3526                  break;                  break;
3527            case ModeXsColorSpec:            case ModeXsColorSpec:
# Line 3571  void XSequence(BYTE b) Line 3563  void XSequence(BYTE b)
3563                                  Param[1]++;                                  Param[1]++;
3564                                  break;                                  break;
3565                          default:                          default:
3566                                  XsParseMode = ModeXsString;                                  XsParseMode = ModeXsIgnore;
                                 Param[1] = 0xFFFFFFFF;  
3567                                  break;                                  break;
3568                          }                          }
3569                  }                  }
# Line 3593  void XSequence(BYTE b) Line 3584  void XSequence(BYTE b)
3584                          EscapeSequence(b);                          EscapeSequence(b);
3585                  }                  }
3586                  break;                  break;
3587              case ModeXsIgnore:
3588                    if ((b==ST && Accept8BitCtrl && !(ts.Language==IdJapanese && ts.KanjiCode==IdSJIS)) || b==BEL) { /* String Terminator */
3589                            ParseMode = ModeFirst;
3590                            XsParseMode = ModeXsFirst;
3591                    }
3592                    else if (b == ESC) {
3593                            PrevMode = ModeXsIgnore;
3594                            XsParseMode = ModeXsEsc;
3595                    }
3596                    break;
3597          }          }
3598  }  }
3599    

Legend:
Removed from v.4687  
changed lines
  Added in v.4696

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26