diff options
author | Markus Heidelberg <markus.heidelberg@web.de> | 2015-01-11 09:01:45 +1100 |
---|---|---|
committer | Markus Heidelberg <markus.heidelberg@web.de> | 2015-01-11 09:01:45 +1100 |
commit | 3bc1b683b367b3d137284c57235b6758084b5474 (patch) | |
tree | f5c72e58d836bcea41d217c7c8c5781af9d4e2a5 | |
parent | 90a95a24c2ad2ba32eba0e4c0548256eda1d22df (diff) | |
download | scintilla-mirror-3bc1b683b367b3d137284c57235b6758084b5474.tar.gz |
LexHex Tektronix: fix whitespace issues and remove unused leftover code
Also clarify the intention of embracing the states in the format
description.
-rw-r--r-- | lexers/LexHex.cxx | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/lexers/LexHex.cxx b/lexers/LexHex.cxx index ec715a44e..6877e9823 100644 --- a/lexers/LexHex.cxx +++ b/lexers/LexHex.cxx @@ -1,6 +1,6 @@ // Scintilla source code edit control /** @file LexHex.cxx - ** Lexers for Motorola S-Record and Intel HEX. + ** Lexers for Motorola S-Record, Intel HEX and Tektronix extended HEX. ** ** Written by Markus Heidelberg **/ @@ -62,6 +62,7 @@ * Any line, which is not a record (blank lines and lines starting with a * character other than ':'), leaves the fold level unchanged. * + * * Tektronix extended HEX * =============================== * @@ -74,7 +75,7 @@ * +----------+ * | length | 2 SCE_HEX_BYTECOUNT, SCE_HEX_BYTECOUNT_WRONG * +----------+ - * | type | 1 SCE_HEX_RECTYPE, SCE_HEX_RECTYPE_UNKNOWN + * | type | 1 SCE_HEX_RECTYPE, (SCE_HEX_RECTYPE_UNKNOWN) * +----------+ * | checksum | 2 SCE_HEX_CHECKSUM, SCE_HEX_CHECKSUM_WRONG * +----------+ @@ -91,6 +92,9 @@ * read beyond the current position. In case of malformed data (record too * short), it has to be ensured that this either does not have bad influence * or will be captured deliberately. + * + * - States in parentheses in the upper format descriptions indicate that they + * should not appear in a valid hex file. */ #include <stdlib.h> @@ -509,6 +513,7 @@ static int GetTEHexDigitCount(unsigned int recStartPos, Accessor &styler) return val; } + // Count the number of digits in this record. Has to // be equal to the "record length" field value. static int CountTEHexDigitCount(unsigned int recStartPos, Accessor &styler) @@ -523,10 +528,11 @@ static int CountTEHexDigitCount(unsigned int recStartPos, Accessor &styler) return static_cast<int>(pos - (recStartPos+1)); } + // Get the value of the "checksum" field. static int GetTEHexChecksum(unsigned int recStartPos, Accessor &styler) { - return GetHexaChar(recStartPos+4, styler); + return GetHexaChar(recStartPos+4, styler); } static int GetHexaNibble(char hd) @@ -545,6 +551,7 @@ static int GetHexaNibble(char hd) return hexValue; } + // Calculate the checksum of the record (excluding the checksum field). static int CalcTEHexChecksum(unsigned int recStartPos, Accessor &styler) { @@ -555,8 +562,7 @@ static int CalcTEHexChecksum(unsigned int recStartPos, Accessor &styler) cs += GetHexaNibble(styler.SafeGetCharAt(pos++));//type - pos += 2;// jump over CS field - //while(!IsNewline(styler.SafeGetCharAt(pos, '\n')){ + pos += 2;// jump over CS field for (; pos <= recStartPos + length; ++pos) { int val = GetHexaNibble(styler.SafeGetCharAt(pos)); @@ -569,8 +575,8 @@ static int CalcTEHexChecksum(unsigned int recStartPos, Accessor &styler) cs += val; } - // low byte - return cs & 0xFF; + // low byte + return cs & 0xFF; } @@ -894,7 +900,7 @@ static void ColouriseTEHexDoc(unsigned int startPos, int length, int initStyle, sc.SetState(SCE_HEX_DATAADDRESS); ForwardWithinLine(sc, 9); break; - case SCE_HEX_NOADDRESS: + case SCE_HEX_DATAADDRESS: recStartPos = sc.currentPos - 15; digitCount = GetTEHexDigitCount(recStartPos, styler) - 14; @@ -916,9 +922,6 @@ static void ColouriseTEHexDoc(unsigned int startPos, int length, int initStyle, case SCE_HEX_DATA_ODD: case SCE_HEX_DATA_EVEN: - case SCE_HEX_DATA_EMPTY: - case SCE_HEX_EXTENDEDADDRESS: - case SCE_HEX_STARTADDRESS: case SCE_HEX_DATA_UNKNOWN: // line too long |