commit 2c8b99d5e925926edfa9b5c44ef29b3c041710bf
parent 091dd71f086eae0f7ca64405bb823678e5741cbc
Author: Benno Schulenberg <bensberg@telfort.nl>
Date: Thu, 11 Jan 2018 10:51:18 +0100
tweaks: condense and rewrap some comments, and reindent two lines
Also drop an old debugging fragment.
Diffstat:
1 file changed, 12 insertions(+), 22 deletions(-)
diff --git a/src/winio.c b/src/winio.c
@@ -1270,13 +1270,15 @@ int parse_escape_sequence(WINDOW *win, int kbinput)
return retval;
}
-/* Translate a byte sequence: turn a three-digit decimal number (from
- * 000 to 255) into its corresponding byte value. */
+/* Turn a three-digit decimal number (from 000 to 255) into its corresponding
+ * byte value. */
int get_byte_kbinput(int kbinput)
{
static int byte = 0;
int retval = ERR;
+ /* Check that the given digit is within the allowed range for its position.
+ * If yes, store it. If no, return the digit (or character) itself. */
switch (++byte_digits) {
case 1:
/* First digit: This must be from zero to two. Put it in
@@ -1284,36 +1286,28 @@ int get_byte_kbinput(int kbinput)
if ('0' <= kbinput && kbinput <= '2')
byte = (kbinput - '0') * 100;
else
- /* This isn't the start of a byte sequence. Return this
- * character as the result. */
retval = kbinput;
break;
case 2:
- /* Second digit: This must be from zero to five if the first
- * was two, and may be any decimal value if the first was
- * zero or one. Put it in the 10's position of the byte
- * sequence holder. */
+ /* Second digit: This must be from zero to five if the first was
+ * two, and may be any decimal value if the first was zero or one.
+ * Put it in the 10's position of the byte sequence holder. */
if (('0' <= kbinput && kbinput <= '5') || (byte < 200 &&
- '6' <= kbinput && kbinput <= '9'))
+ '6' <= kbinput && kbinput <= '9'))
byte += (kbinput - '0') * 10;
else
- /* This isn't the second digit of a byte sequence.
- * Return this character as the result. */
retval = kbinput;
break;
case 3:
- /* Third digit: This must be from zero to five if the first
- * was two and the second was five, and may be any decimal
- * value otherwise. Put it in the 1's position of the byte
- * sequence holder. */
+ /* Third digit: Must be from zero to five if the first was two and
+ * the second was five, and may be any decimal value otherwise.
+ * Put it in the 1's position of the byte sequence holder. */
if (('0' <= kbinput && kbinput <= '5') || (byte < 250 &&
- '6' <= kbinput && kbinput <= '9')) {
+ '6' <= kbinput && kbinput <= '9')) {
byte += kbinput - '0';
/* The byte sequence is complete. */
retval = byte;
} else
- /* This isn't the third digit of a byte sequence.
- * Return this character as the result. */
retval = kbinput;
break;
}
@@ -1324,10 +1318,6 @@ int get_byte_kbinput(int kbinput)
byte = 0;
}
-#ifdef DEBUG
- fprintf(stderr, "get_byte_kbinput(): kbinput = %d, byte_digits = %d, byte = %d, retval = %d\n", kbinput, byte_digits, byte, retval);
-#endif
-
return retval;
}