evas key bitshifts for 64bit type - fix.
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>
Wed, 13 Aug 2014 11:49:36 +0000 (20:49 +0900)
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>
Wed, 13 Aug 2014 11:49:36 +0000 (20:49 +0900)
coverity is right. this is another set of thse bitshift problems with
unsigned long long. fix 1224346, 1224345, 1224344 1224343 and 1224342

src/lib/evas/canvas/evas_key.c

index 68c455d..82472aa 100644 (file)
@@ -151,7 +151,7 @@ _evas_canvas_key_modifier_on(Eo *eo_e EINA_UNUSED, Evas_Public_Data *e, const ch
 
    n = (Evas_Modifier_Mask)evas_key_modifier_number(&(e->modifiers), keyname);
    if (n < 0 || n > 63) return;
-   num = 1 << n;
+   num = 1ULL << n;
    e->modifiers.mask |= num;
 }
 
@@ -163,7 +163,7 @@ _evas_canvas_key_modifier_off(Eo *eo_e EINA_UNUSED, Evas_Public_Data *e, const c
 
    n = evas_key_modifier_number(&(e->modifiers), keyname);
    if (n < 0 || n > 63) return;
-   num = 1 << n;
+   num = 1ULL << n;
    e->modifiers.mask &= ~num;
 }
 
@@ -175,7 +175,7 @@ _evas_canvas_key_lock_on(Eo *eo_e EINA_UNUSED, Evas_Public_Data *e, const char *
 
    n = evas_key_lock_number(&(e->locks), keyname);
    if (n < 0 || n > 63) return;
-   num = 1 << n;
+   num = 1ULL << n;
    e->locks.mask |= num;
 }
 
@@ -187,7 +187,7 @@ _evas_canvas_key_lock_off(Eo *eo_e EINA_UNUSED, Evas_Public_Data *e, const char
 
    n = evas_key_lock_number(&(e->locks), keyname);
    if (n < 0 || n > 63) return;
-   num = 1 << n;
+   num = 1ULL << n;
    e->locks.mask &= ~num;
 }
 
@@ -196,14 +196,11 @@ _evas_canvas_key_lock_off(Eo *eo_e EINA_UNUSED, Evas_Public_Data *e, const char
 EOLIAN Evas_Modifier_Mask
 _evas_canvas_key_modifier_mask_get(Eo *eo_e EINA_UNUSED, Evas_Public_Data *e, const char *keyname)
 {
-
-   Evas_Modifier_Mask num;
    int n;
 
    if (!keyname) return 0;
    n = evas_key_modifier_number(&(e->modifiers), keyname);
    if (n < 0 || n > 63) return 0;
-   num = (Evas_Modifier_Mask)n;
-   return 1 << num;
+   return 1ULL << n;
 }