xartigas pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=ef3a09499f918d575493915fd80f0d6bb232fb88

commit ef3a09499f918d575493915fd80f0d6bb232fb88
Author: Mike Blumenkrantz <zm...@samsung.com>
Date:   Tue May 12 16:55:59 2020 +0200

    build: fix void* use in pointer maths
    
    Summary:
    void* is an invalid type for calculating pointer offsets, so ensure that
    this is always cast to something else (e.g., char*) in the few cases
    where it's been misused
    
    Subscribers: cedric, #reviewers, #committers
    
    Tags: #efl
    
    Differential Revision: https://phab.enlightenment.org/D11816
---
 src/lib/eina/eina_accessor.c                                 | 12 ++++++------
 .../ecore_evas/engines/wayland/ecore_evas_wayland_common.c   |  2 +-
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/lib/eina/eina_accessor.c b/src/lib/eina/eina_accessor.c
index 67494987a9..812da5c9c1 100644
--- a/src/lib/eina/eina_accessor.c
+++ b/src/lib/eina/eina_accessor.c
@@ -205,20 +205,20 @@ struct _Eina_Accessor_CArray_Length
 static Eina_Bool
 eina_carray_length_accessor_get_at(Eina_Accessor_CArray_Length *accessor, 
unsigned int idx, void **data)
 {
-   if (accessor->array + idx*accessor->step >= accessor->end)
+   if ((char*)accessor->array + idx*accessor->step >= (char*)accessor->end)
      return EINA_FALSE;
 
-   memcpy(data, (void*) accessor->array + idx*accessor->step, accessor->step);
+   memcpy(data, (char*) accessor->array + idx*accessor->step, accessor->step);
 
    return EINA_TRUE;
 }
 static Eina_Bool
 eina_carray_length_accessor_ptr_get_at(Eina_Accessor_CArray_Length *accessor, 
unsigned int idx, void **data)
 {
-   if (accessor->array + idx*accessor->step >= accessor->end)
+   if ((char*)accessor->array + idx*accessor->step >= (char*)accessor->end)
      return EINA_FALSE;
 
-   *data = (((void*)accessor->array) + idx*accessor->step);
+   *data = (((char*)accessor->array) + idx*accessor->step);
 
    return EINA_TRUE;
 }
@@ -246,7 +246,7 @@ eina_carray_length_accessor_new(void** array, unsigned int 
step, unsigned int le
    EINA_MAGIC_SET(&accessor->accessor, EINA_MAGIC_ACCESSOR);
 
    accessor->array = array;
-   accessor->end = accessor->array + length * step;
+   accessor->end = (void**)((char*)accessor->array + length * step);
    accessor->step = step;
 
    accessor->accessor.version = EINA_ACCESSOR_VERSION;
@@ -269,7 +269,7 @@ eina_carray_length_ptr_accessor_new(void** array, unsigned 
int step, unsigned in
    EINA_MAGIC_SET(&accessor->accessor, EINA_MAGIC_ACCESSOR);
 
    accessor->array = array;
-   accessor->end = accessor->array + length * step;
+   accessor->end = (void**)((char*)accessor->array + length * step);
    accessor->step = step;
 
    accessor->accessor.version = EINA_ACCESSOR_VERSION;
diff --git a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c 
b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
index 4722663e38..bd1022e3e5 100644
--- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
+++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
@@ -2588,7 +2588,7 @@ _write_to_fd(void *data, Ecore_Fd_Handler *fd_handler)
    fd = ecore_main_fd_handler_fd_get(fd_handler);
    if (fd < 0) goto end;
 
-   len = write(fd, slice->slice.mem + slice->written_bytes,
+   len = write(fd, (char*)slice->slice.mem + slice->written_bytes,
                slice->slice.len - slice->written_bytes);
 
    slice->written_bytes += len;

-- 


Reply via email to