Hi Tom, just a little typo :

On Friday 23 January 2015  08:51, Tom Hacohen wrote :
> tasn pushed a commit to branch master.
> 
> http://git.enlightenment.org/core/efl.git/commit/?id=40cb2cd3d44e3266b7a50a3c64626034da2817e4
> 
> commit 40cb2cd3d44e3266b7a50a3c64626034da2817e4
> Author: Tom Hacohen <t...@stosb.com>
> Date:   Fri Jan 23 16:51:02 2015 +0000
> 
>     Eo add: beef up error reporting.
>     
>     In some cases object ceration would fail without an error,
>     this is bad and should not happen.
>     
>     Thanks to cedric for reporting.
> ---
>  src/lib/eo/eo.c                 |  5 ++++-
>  src/lib/eo/eo_ptr_indirection.h | 24 ++++++++++++++++++++----
>  2 files changed, 24 insertions(+), 5 deletions(-)
> 
> diff --git a/src/lib/eo/eo.c b/src/lib/eo/eo.c
> index 96f190d..a0adecd 100644
> --- a/src/lib/eo/eo.c
> +++ b/src/lib/eo/eo.c
> @@ -933,7 +933,10 @@ _eo_add_internal_end(Eo *eo_id)
>       }
>  
>     if (EINA_UNLIKELY(!fptr->o.obj))
> -      return NULL;
> +     {
> +        ERR("Corrupt call stuck, shouldn't happen, please report!");
HEEEEEEREEEEE
> +        return NULL;
> +     }
>  
>     if (!fptr->o.obj->condtor_done || fptr->o.obj->do_error)
>       {
> diff --git a/src/lib/eo/eo_ptr_indirection.h b/src/lib/eo/eo_ptr_indirection.h
> index 9978701..c801e47 100644
> --- a/src/lib/eo/eo_ptr_indirection.h
> +++ b/src/lib/eo/eo_ptr_indirection.h
> @@ -11,29 +11,45 @@
>  #define EO_OBJ_POINTER_RETURN_VAL(obj_id, obj, ret) \
>     _Eo_Object *obj; \
>     do { \
> +        if (!obj_id) return ret; \
>          obj = _eo_obj_pointer_get((Eo_Id)obj_id); \
> -        if (!obj) return ret; \
> +        if (!obj) { \
> +             ERR("Obj (%p) is an invalid ref.", obj_id); \
> +             return ret; \
> +        } \
>     } while (0)
>  
>  #define EO_OBJ_POINTER_RETURN(obj_id, obj)   \
>     _Eo_Object *obj; \
>     do { \
> +        if (!obj_id) return; \
>          obj = _eo_obj_pointer_get((Eo_Id)obj_id);   \
> -        if (!obj) return; \
> +        if (!obj) { \
> +             ERR("Obj (%p) is an invalid ref.", obj_id); \
> +             return; \
> +        } \
>     } while (0)
>  
>  #define EO_CLASS_POINTER_RETURN_VAL(klass_id, klass, ret) \
>     _Eo_Class *klass; \
>     do { \
> +        if (!klass_id) return ret; \
>          klass = _eo_class_pointer_get(klass_id); \
> -        if (!klass) return ret; \
> +        if (!klass) { \
> +             ERR("Klass (%p) is an invalid ref.", klass_id); \
> +             return ret; \
> +        } \
>     } while (0)
>  
>  #define EO_CLASS_POINTER_RETURN(klass_id, klass)   \
>     _Eo_Class *klass; \
>     do { \
> +        if (!klass_id) return; \
>          klass = _eo_class_pointer_get(klass_id); \
> -        if (!klass) return; \
> +        if (!klass) { \
> +             ERR("Klass (%p) is an invalid ref.", klass_id); \
> +             return; \
> +        } \
>     } while (0)
>  
>  #else
> 
> -- 
> 
> 
--- Hell'O from Yverdoom

Jérémy (jeyzu)

------------------------------------------------------------------------------
New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
GigeNET is offering a free month of service with a new server in Ashburn.
Choose from 2 high performing configs, both with 100TB of bandwidth.
Higher redundancy.Lower latency.Increased capacity.Completely compliant.
http://p.sf.net/sfu/gigenet
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to