kevent.c has some potential switch bugs in it I'm not sure how to fix.

kevent.c(183): SCI_EVT_MOUSE_RELEASE release just falls through. Should
this break, and/or clear some flags?

kevent.c(190): no default for the switch within a switch, should it just
break?


Changelog:
2001-04-10  Matt Hargett  <[EMAIL PROTECTED]>

* kevent.c: Added NULL pointer checks in several places.
* (sci_toupper): added default case to switch
* (kMapKeyToDir):Ditto.




--
http://www.clock.org/~matt


-- Attached file included as plaintext by Listar --
-- File: kevent.c.patch

--- kevent.c.old        Tue Apr 10 18:28:35 2001
+++ kevent.c    Tue Apr 10 18:38:32 2001
@@ -85,6 +85,7 @@ sci_toupper(int c)
        case ',': return '<';
        case '.': return '>';
        case '/': return '?';
+       default: return c;
        }
 
        return c; /* No match */
@@ -212,6 +213,13 @@ kMapKeyToDir(state_t *s, int funct_nr, i
 {
   heap_ptr obj = UPARAM(0);
 
+       if (NULL == s)
+       {
+               fprintf(stderr, "kevent.c: kMapKeyToDir(): NULL passed for parameter 
+s\n");
+               return;
+       }
+
+
   if (GET_SELECTOR(obj, type) == SCI_EVT_KEYBOARD) { /* Keyboard */
     int mover = -1;
     switch (GET_SELECTOR(obj, message)) {
@@ -225,6 +233,7 @@ kMapKeyToDir(state_t *s, int funct_nr, i
     case SCI_K_END: mover = 6; break;
     case SCI_K_DOWN: mover = 5; break;
     case SCI_K_PGDOWN: mover = 4; break;
+    default: break;
     }
 
     if (mover >= 0) {
@@ -239,6 +248,12 @@ kMapKeyToDir(state_t *s, int funct_nr, i
 void
 kGlobalToLocal(state_t *s, int funct_nr, int argc, heap_ptr argp)
 {
+       if (NULL == s)
+       {
+               fprintf(stderr, "kevent.c: kGlobalToLocal(): NULL passed for parameter 
+s\n");
+               return;
+       }
+
        heap_ptr obj = UPARAM_OR_ALT(0, 0);
 
        if (obj) {
@@ -254,6 +269,12 @@ kGlobalToLocal(state_t *s, int funct_nr,
 void
 kLocalToGlobal(state_t *s, int funct_nr, int argc, heap_ptr argp)
 {
+       if (NULL == s)
+       {
+               fprintf(stderr, "kevent.c: kMapKeyToDir(): NULL passed for parameter 
+s\n");
+               return;
+       }
+
        heap_ptr obj = UPARAM_OR_ALT(0, 0);
 
        if (obj) {


Reply via email to