Shut up a bunch of warnings and fix some real errors.
authorbarbieri <barbieri@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Sat, 6 Dec 2008 03:08:17 +0000 (03:08 +0000)
committerbarbieri <barbieri@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Sat, 6 Dec 2008 03:08:17 +0000 (03:08 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/edje@37954 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/bin/edje_cc_handlers.c
src/bin/edje_cc_out.c
src/bin/edje_cc_sources.c
src/lib/Edje.h
src/lib/edje_cache.c
src/lib/edje_edit.c
src/lib/edje_entry.c
src/lib/edje_load.c
src/lib/edje_script_only.c
src/lib/edje_text.c
src/lib/edje_util.c

index 3cfa028..7fcd6c5 100644 (file)
@@ -2787,7 +2787,8 @@ st_collections_group_parts_part_description_inherit(void)
    Edje_Part_Description *ed, *parent = NULL;
    Eina_List *l;
    Edje_Part_Image_Id *iid;
-   char *parent_name, *state_name;
+   char *parent_name;
+   const char *state_name;
    double parent_val, state_val;
 
    check_arg_count(2);
index d74a2a7..819a4f5 100644 (file)
@@ -151,7 +151,7 @@ check_image_part_desc (Edje_Part_Collection *pc, Edje_Part *ep,
 }
 
 static void
-check_packed_items(Edje_Part_Collection *pc, Edje_Part *ep, Edje_File *ef)
+check_packed_items(Edje_Part_Collection *pc, Edje_Part *ep, Eet_File *ef)
 {
    Eina_List *l;
    Edje_Pack_Element *it;
index 1e80fb6..14ccd54 100644 (file)
@@ -38,15 +38,15 @@ source_edd(void)
    eddc.version = EET_DATA_DESCRIPTOR_CLASS_VERSION;
    eddc.func.mem_alloc = NULL;
    eddc.func.mem_free = NULL;
-   eddc.func.str_alloc = eina_stringshare_add;
-   eddc.func.str_free = eina_stringshare_del;
-   eddc.func.list_next = eina_list_next;
-   eddc.func.list_append = eina_list_append;
-   eddc.func.list_data = eina_list_data_get;
-   eddc.func.list_free = eina_list_free;
-   eddc.func.hash_foreach = evas_hash_foreach;
-   eddc.func.hash_add = evas_hash_add;
-   eddc.func.hash_free = evas_hash_free;
+   eddc.func.str_alloc = (char *(*)(const char *))eina_stringshare_add;
+   eddc.func.str_free = (void (*)(const char *))eina_stringshare_del;
+   eddc.func.list_next = (void *(*)(void *))eina_list_next;
+   eddc.func.list_append = (void *(*)(void *, void *))eina_list_append;
+   eddc.func.list_data = (void *(*)(void *))eina_list_data_get;
+   eddc.func.list_free = (void *(*)(void *))eina_list_free;
+   eddc.func.hash_foreach = (void (*)(void *, int (*) (void *, const char *, void *, void *), void *))evas_hash_foreach;
+   eddc.func.hash_add = (void *(*)(void *, const char *, void *))evas_hash_add;
+   eddc.func.hash_free = (void (*)(void *))evas_hash_free;
    eddc.func.str_direct_alloc = _edje_str_direct_alloc;
    eddc.func.str_direct_free = _edje_str_direct_free;
 
index 0335861..a4410a1 100644 (file)
@@ -240,10 +240,10 @@ extern "C" {
    EAPI void         edje_object_part_text_select_none(const Evas_Object *obj, const char *part);
    EAPI void         edje_object_part_text_select_all(const Evas_Object *obj, const char *part);
        
-   EAPI void         edje_object_part_text_insert    (Evas_Object *obj, const char *part, const char *text);
-   EAPI Eina_List   *edje_object_part_text_anchor_list_get(const Evas_Object *obj, const char *part);
-   EAPI Eina_List   *edje_object_part_text_anchor_geometry_get(const Evas_Object *obj, const char *part, const char *anchor);
-   EAPI void         edje_object_part_text_cursor_geometry_get(const Evas_Object *obj, const char *part, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
+   EAPI void             edje_object_part_text_insert    (Evas_Object *obj, const char *part, const char *text);
+   EAPI const Eina_List *edje_object_part_text_anchor_list_get(const Evas_Object *obj, const char *part);
+   EAPI const Eina_List *edje_object_part_text_anchor_geometry_get(const Evas_Object *obj, const char *part, const char *anchor);
+   EAPI void             edje_object_part_text_cursor_geometry_get(const Evas_Object *obj, const char *part, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
        
    EAPI void         edje_object_part_swallow        (Evas_Object *obj, const char *part, Evas_Object *obj_swallow);
    EAPI void         edje_object_part_unswallow      (Evas_Object *obj, Evas_Object *obj_swallow);
index b0bd0c8..6eb051b 100644 (file)
@@ -28,7 +28,7 @@ void *alloca (size_t);
 
 #include "edje_private.h"
 
-static Evas_Hash   *_edje_file_hash = NULL;
+static Eina_Hash   *_edje_file_hash = NULL;
 static int          _edje_file_cache_size = 16;
 static Eina_List   *_edje_file_cache = NULL;
 
index af016b6..eca5d90 100644 (file)
@@ -1295,7 +1295,7 @@ EAPI Eina_List *
 edje_edit_style_tags_list_get(Evas_Object * obj, const char* style)
 {
    Eina_List *tags = NULL;
-   Eina_List *l, *ll;
+   Eina_List *ll;
    Edje_Style *s;
    Edje_Style_Tag *t;
 
@@ -5222,9 +5222,13 @@ _edje_generate_source_of_group(Edje *ed, const char *group, FILE *f)
       
    fprintf(f, I1"group { name: \"%s\";\n", group);
    //TODO Support alias:
-   if ((w = edje_edit_group_min_w_get(obj)) || (h = edje_edit_group_min_h_get(obj)))
+   w = edje_edit_group_min_w_get(obj);
+   h = edje_edit_group_min_h_get(obj);
+   if ((w > 0) || (h > 0))
       fprintf(f, I2"min: %d %d;\n", w, h);
-   if ((w = edje_edit_group_max_w_get(obj)) || (h = edje_edit_group_max_h_get(obj)))
+   w = edje_edit_group_max_w_get(obj);
+   h = edje_edit_group_max_h_get(obj);
+   if ((w > -1) || (h > -1))
       fprintf(f, I2"max: %d %d;\n", w, h);
    //TODO Support data
    //TODO Support script
@@ -5404,15 +5408,15 @@ source_edd(void)
    eddc.version = EET_DATA_DESCRIPTOR_CLASS_VERSION;
    eddc.func.mem_alloc = NULL;
    eddc.func.mem_free = NULL;
-   eddc.func.str_alloc = eina_stringshare_add;
-   eddc.func.str_free = eina_stringshare_del;
-   eddc.func.list_next = eina_list_next;
-   eddc.func.list_append = eina_list_append;
-   eddc.func.list_data = eina_list_data_get;
-   eddc.func.list_free = eina_list_free;
-   eddc.func.hash_foreach = evas_hash_foreach;
-   eddc.func.hash_add = evas_hash_add;
-   eddc.func.hash_free = evas_hash_free;
+   eddc.func.str_alloc = (char *(*)(const char *))eina_stringshare_add;
+   eddc.func.str_free = (void (*)(const char *))eina_stringshare_del;
+   eddc.func.list_next = (void *(*)(void *))eina_list_next;
+   eddc.func.list_append = (void *(*)(void *, void *))eina_list_append;
+   eddc.func.list_data = (void *(*)(void *))eina_list_data_get;
+   eddc.func.list_free = (void *(*)(void *))eina_list_free;
+   eddc.func.hash_foreach = (void (*)(void *, int (*) (void *, const char *, void *, void *), void *))evas_hash_foreach;
+   eddc.func.hash_add = (void *(*)(void *, const char *, void *))evas_hash_add;
+   eddc.func.hash_free = (void (*)(void *))evas_hash_free;
    eddc.func.str_direct_alloc = _edje_edit_str_direct_alloc;
    eddc.func.str_direct_free = _edje_edit_str_direct_free;
 
index c86a255..fa066cb 100644 (file)
@@ -636,7 +636,7 @@ _anchors_get(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en)
    evas_textblock_cursor_node_first(c1);
    do 
      {
-       char *s;
+       const char *s;
        
        s = evas_textblock_cursor_node_format_get(c1);
        if (s)
@@ -1032,7 +1032,6 @@ static void
 _edje_key_up_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
 {
    Edje *ed = data;
-   Evas_Event_Key_Up *ev = event_info;
    Edje_Real_Part *rp = ed->focused_part;
    Entry *en;
    if (!rp) return;
index 7d90676..d405281 100644 (file)
@@ -7,9 +7,9 @@
 #include "edje_private.h"
 
 void _edje_collection_free_part_description_free(Edje_Part_Description *desc, unsigned int free_strings);
-static Evas_Bool _edje_file_collection_hash_foreach(const Evas_Hash *hash, const char *key, void *data, void *fdata);
+static Eina_Bool _edje_file_collection_hash_foreach(const Eina_Hash *hash, const void *key, void *data, void *fdata);
 #ifdef EDJE_PROGRAM_CACHE
-static Evas_Bool  _edje_collection_free_prog_cache_matches_free_cb(const Evas_Hash *hash, const char *key, void *data, void *fdata);
+static Eina_Bool  _edje_collection_free_prog_cache_matches_free_cb(const Eina_Hash *hash, const void *key, void *data, void *fdata);
 #endif
 static int _edje_object_file_set_internal(Evas_Object *obj, const char *file, const char *group, Eina_List *group_path);
 static void _edje_object_pack_item_hints_set(Evas_Object *obj, Edje_Pack_Element *it);
@@ -491,8 +491,13 @@ _edje_object_file_set_internal(Evas_Object *obj, const char *file, const char *g
             for (i = 0; i < ed->table_parts_size; i++)
               {
                  Edje_Real_Part *rp;
-                 Eina_List *curr_item;
-                 Edje_Pack_Element *pack_it;
+                 /* XXX: curr_item and pack_it don't require to be NULL since
+                  * XXX: they are just used when source != NULL and type == BOX,
+                  * XXX: and they're always set in this case, but GCC fails to
+                  * XXX: notice that, so let's shut it up
+                  */
+                 Eina_List *curr_item = NULL;
+                 Edje_Pack_Element *pack_it = NULL;
                  const char *source = NULL;
                  
                  rp = ed->table_parts[i];
@@ -823,7 +828,7 @@ _edje_file_del(Edje *ed)
  * Used to free the cached data values that are stored in the data_cache
  * hash table.
  */
-static Evas_Bool data_cache_free(const Evas_Hash *hash, const char *key, void *data, void *fdata)
+static Eina_Bool data_cache_free(const Eina_Hash *hash, const void *key, void *data, void *fdata)
 {
    Edje_File    *edf;
 
@@ -1070,8 +1075,8 @@ _edje_collection_free_part_description_free(Edje_Part_Description *desc, unsigne
    free(desc);
 }
 
-static Evas_Bool
-_edje_file_collection_hash_foreach(const Evas_Hash *hash, const char *key, void *data, void *fdata)
+static Eina_Bool
+_edje_file_collection_hash_foreach(const Eina_Hash *hash, const void *key, void *data, void *fdata)
 {
    Edje_File *edf;
    Edje_Part_Collection *coll;
@@ -1087,11 +1092,12 @@ _edje_file_collection_hash_foreach(const Evas_Hash *hash, const char *key, void
 }
 
 #ifdef EDJE_PROGRAM_CACHE
-static Evas_Bool
-_edje_collection_free_prog_cache_matches_free_cb(const Evas_Hash *hash, const char *key, void *data, void *fdata)
+static Eina_Bool
+_edje_collection_free_prog_cache_matches_free_cb(const Eina_Hash *hash, const void *key, void *data, void *fdata)
 {
    eina_list_free((Eina_List *)data);
    return 1;
+   key = NULL;
    hash = NULL;
    fdata = NULL;
 }
index cfc1c82..440b6b9 100644 (file)
@@ -90,7 +90,7 @@ struct _Sinfo
    } job;
    struct {
       int id;
-      Evas_Hash *hash; // FIXME: hash -> bad. too big. one-way lookup etc.
+      Eina_Hash *hash; // FIXME: hash -> bad. too big. one-way lookup etc.
    } oid;
 };
 
@@ -183,8 +183,8 @@ _oid_free(Oid *oid)
    free(oid);
 }
 
-static Evas_Bool
-_oid_freeall_cb(const Evas_Hash *hash, const char *key, void *data, void *fdata)
+static Eina_Bool
+_oid_freeall_cb(const Eina_Hash *hash, const void *key, void *data, void *fdata)
 {
    Oid *oid = data;
    evas_object_del(oid->obj);
@@ -202,8 +202,8 @@ _oid_freeall(Edje *ed)
    si->oid.hash = NULL;
 }
 
-static Evas_Bool
-_oid_moveall_cb(const Evas_Hash *hash, const char *key, void *data, void *fdata)
+static Eina_Bool
+_oid_moveall_cb(const Eina_Hash *hash, const void *key, void *data, void *fdata)
 {
    Oid *oid = data;
    evas_object_move(oid->obj, oid->ed->x + oid->x, oid->ed->y + oid->y);
index 356c7ab..9085d82 100644 (file)
@@ -516,6 +516,7 @@ _edje_text_recalc_apply(Edje *ed, Edje_Real_Part *ep,
                       bottom = 1;
                       top = 10;
                    }
+                 else bottom = 0; /* XXX shut up GCC, th == sh is handled before! */
 
                  top = size;
                  /* search one that fits (binary search) */
index 9eb1447..7850025 100644 (file)
@@ -20,11 +20,11 @@ struct _Edje_Box_Layout
 typedef struct _Edje_Box_Layout                      Edje_Box_Layout;
 
 
-static Evas_Hash *_edje_color_class_hash = NULL;
-static Evas_Hash *_edje_color_class_member_hash = NULL;
+static Eina_Hash *_edje_color_class_hash = NULL;
+static Eina_Hash *_edje_color_class_member_hash = NULL;
 
-static Evas_Hash *_edje_text_class_hash = NULL;
-static Evas_Hash *_edje_text_class_member_hash = NULL;
+static Eina_Hash *_edje_text_class_hash = NULL;
+static Eina_Hash *_edje_text_class_member_hash = NULL;
 
 static Eina_Rbtree *_edje_box_layout_registry = NULL;
 
@@ -40,8 +40,8 @@ struct _Edje_List_Foreach_Data
    Eina_List *list;
 };
 
-static Evas_Bool _edje_color_class_list_foreach(const Evas_Hash *hash, const char *key, void *data, void *fdata);
-static Evas_Bool _edje_text_class_list_foreach(const Evas_Hash *hash, const char *key, void *data, void *fdata);
+static Eina_Bool _edje_color_class_list_foreach(const Eina_Hash *hash, const void *key, void *data, void *fdata);
+static Eina_Bool _edje_text_class_list_foreach(const Eina_Hash *hash, const void *key, void *data, void *fdata);
 
 Edje_Real_Part *_edje_real_part_recursive_get_helper(Edje *ed, char **path);
 
@@ -400,8 +400,8 @@ edje_color_class_list(void)
    return fdata.list;
 }
 
-static Evas_Bool
-_edje_color_class_list_foreach(const Evas_Hash *hash, const char *key, void *data, void *fdata)
+static Eina_Bool
+_edje_color_class_list_foreach(const Eina_Hash *hash, const void *key, void *data, void *fdata)
 {
    Edje_List_Foreach_Data *fd;
 
@@ -679,8 +679,8 @@ edje_text_class_list(void)
    return fdata.list;
 }
 
-static Evas_Bool
-_edje_text_class_list_foreach(const Evas_Hash *hash, const char *key, void *data, void *fdata)
+static Eina_Bool
+_edje_text_class_list_foreach(const Eina_Hash *hash, const void *key, void *data, void *fdata)
 {
    Edje_List_Foreach_Data *fd;
 
@@ -1026,9 +1026,9 @@ edje_object_part_text_insert(Evas_Object *obj, const char *part, const char *tex
 /** Returns a list of char * anchor names
  * @param obj A valid Evas_Object handle
  * @param part The part name
- * @return The list of anchors (const char *)
+ * @return The list of anchors (const char *), do not modify!
  */
-EAPI Eina_List *
+EAPI const Eina_List *
 edje_object_part_text_anchor_list_get(const Evas_Object *obj, const char *part)
 {
    Edje *ed;
@@ -1047,9 +1047,9 @@ edje_object_part_text_anchor_list_get(const Evas_Object *obj, const char *part)
  * @param obj A valid Evas_Object handle
  * @param part The part name
  * @param anchor The anchor name
- * @return The list of anchor rects (const Evas_Textblock_Rectangle *)
+ * @return The list of anchor rects (const Evas_Textblock_Rectangle *), do not modify!
  */
-EAPI Eina_List *
+EAPI const Eina_List *
 edje_object_part_text_anchor_geometry_get(const Evas_Object *obj, const char *part, const char *anchor)
 {
    Edje *ed;
@@ -1148,7 +1148,6 @@ _recalc_extern_parent(Evas_Object *obj)
 EAPI void
 edje_extern_object_min_size_set(Evas_Object *obj, Evas_Coord minw, Evas_Coord minh)
 {
-   int mw, mh;
    Edje_Real_Part *rp;
 
    evas_object_size_hint_min_set(obj, minw, minh);
@@ -2336,11 +2335,11 @@ edje_object_part_box_remove_all(Evas_Object *obj, const char *part, Evas_Bool cl
    Edje_Real_Part *rp;
 
    ed = _edje_fetch(obj);
-   if ((!ed) || (!part)) return NULL;
+   if ((!ed) || (!part)) return 0;
 
    rp = _edje_real_part_recursive_get(ed, part);
-   if (!rp) return NULL;
-   if (rp->part->type != EDJE_PART_TYPE_BOX) return NULL;
+   if (!rp) return 0;
+   if (rp->part->type != EDJE_PART_TYPE_BOX) return 0;
 
    return _edje_real_part_box_remove_all(rp, clear);
 
@@ -2561,8 +2560,8 @@ _edje_color_class_member_del(Edje *ed, const char *color_class)
  * Used to free the member lists that are stored in the text_class
  * and color_class hashtables.
  */
-static Evas_Bool
-member_list_free(const Evas_Hash *hash, const char *key, void *data, void *fdata)
+static Eina_Bool
+member_list_free(const Eina_Hash *hash, const void *key, void *data, void *fdata)
 {
    eina_list_free(data);
    return 1;
@@ -2577,8 +2576,8 @@ _edje_color_class_members_free(void)
    _edje_color_class_member_hash = NULL;
 }
 
-static Evas_Bool
-color_class_hash_list_free(const Evas_Hash *hash, const char *key, void *data, void *fdata)
+static Eina_Bool
+color_class_hash_list_free(const Eina_Hash *hash, const void *key, void *data, void *fdata)
 {
    Edje_Color_Class *cc;
 
@@ -2677,8 +2676,8 @@ _edje_text_class_members_free(void)
    _edje_text_class_member_hash = NULL;
 }
 
-static Evas_Bool
-text_class_hash_list_free(const Evas_Hash *hash, const char *key, void *data, void *fdata)
+static Eina_Bool
+text_class_hash_list_free(const Eina_Hash *hash, const void *key, void *data, void *fdata)
 {
    Edje_Text_Class *tc;