Palacios Public Git Repository

To checkout Palacios execute

  git clone http://v3vee.org/palacios/palacios.web/palacios.git
This will give you the master branch. You probably want the devel branch or one of the release branches. To switch to the devel branch, simply execute
  cd palacios
  git checkout --track -b devel origin/devel
The other branches are similar.


Cleanup and sanity-checking of integer overflow, null comparisons, dead code (Coverit...
[palacios.git] / palacios / src / devices / telnet_cons.c
index 5f82993..b9080f7 100644 (file)
@@ -413,16 +413,8 @@ static struct v3_device_ops dev_ops = {
 static int key_handler( struct cons_state * state, uint8_t ascii) {
     PrintDebug(VM_NONE, VCORE_NONE, "Character recieved: 0x%x\n", ascii);
 
-    // printable
-    if (ascii < 0x80) {
-       const struct key_code * key = &(ascii_to_key_code[ascii]);
 
-       if (deliver_scan_code(state, (struct key_code *)key) == -1) {
-           PrintError(VM_NONE, VCORE_NONE, "Could not deliver scan code to vm\n");
-           return -1;
-       }
-
-    } else if (ascii == ESC_CHAR) { // Escape Key
+    if (ascii == ESC_CHAR) { // Escape Key
        // This means that another 2 characters are pending
        // receive it and deliver accordingly
        char esc_seq[2] = {0, 0};
@@ -457,7 +449,16 @@ static int key_handler( struct cons_state * state, uint8_t ascii) {
        } else if (esc_seq[1] == 'D') {         // LEFT ARROW
            struct key_code left = { 0x4B, 0 };
            deliver_scan_code(state, &left);
+       }   
+
+    } else if (ascii < 0x80) { // printable
+       const struct key_code * key = &(ascii_to_key_code[ascii]);
+
+       if (deliver_scan_code(state, (struct key_code *)key) == -1) {
+           PrintError(VM_NONE, VCORE_NONE, "Could not deliver scan code to vm\n");
+           return -1;
        }
+
     } else {
        PrintError(VM_NONE, VCORE_NONE, "Invalid character received from network (%c) (code=%d)\n",
                   ascii, ascii);