Enlightenment CVS committal

Author  : raster
Project : e17
Module  : libs/evas

Dir     : e17/libs/evas/src/lib/canvas


Modified Files:
        evas_font_dir.c evas_name.c evas_object_image.c 
        evas_object_main.c evas_object_smart.c evas_object_text.c 


Log Message:


use stringshare. saves a few hundred allocs... if we start doing lots of text
:)

===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/evas/src/lib/canvas/evas_font_dir.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -3 -r1.10 -r1.11
--- evas_font_dir.c     15 Oct 2005 22:02:59 -0000      1.10
+++ evas_font_dir.c     28 Nov 2005 15:18:00 -0000      1.11
@@ -94,7 +94,7 @@
    p = strchr(name, ',');
    if (!p)
      {
-       fonts = evas_list_append(fonts, strdup(name));
+       fonts = evas_list_append(fonts, evas_stringshare_add(name));
      }
    else
      {
@@ -110,7 +110,7 @@
             fonts = evas_list_append(fonts, nm);
             pp = p + 1;
             p = strchr(pp, ',');
-            if (!p) fonts = evas_list_append(fonts, strdup(pp));
+            if (!p) fonts = evas_list_append(fonts, evas_stringshare_add(pp));
          }
      }
    return fonts;
@@ -145,8 +145,8 @@
        fd = evas_list_data(fonts_zero);
        if (fd->ref != 0) break;
        fonts_zero = evas_list_remove_list(fonts_zero, fonts_zero);
-       if (fd->name) free(fd->name);
-       if (fd->source) free(fd->source);
+       if (fd->name) evas_stringshare_del(fd->name);
+       if (fd->source) evas_stringshare_del(fd->source);
        evas->engine.func->font_free(evas->engine.data.output, fd->font);
        free(fd);
      }
@@ -323,14 +323,14 @@
               }
 #endif
          }
-       free(nm);
+       evas_stringshare_del(nm);
      }
    evas_list_free(fonts);
    fd = calloc(1, sizeof(Fndat));
    if (fd)
      {
-       fd->name = strdup(name);
-       if (source) fd->source = strdup(source);
+       fd->name = evas_stringshare_add(name);
+       if (source) fd->source = evas_stringshare_add(source);
        fd->size = size;
        fd->font = font;
        fd->ref = 1;
@@ -525,7 +525,7 @@
                            fn->type = 1;
                            for (i = 0; i < 14; i++)
                              {
-                                fn->x.prop[i] = strdup(font_prop[i]);
+                                fn->x.prop[i] = 
evas_stringshare_add(font_prop[i]);
                                 /* FIXME: what if strdup fails! */
                              }
                            fn->path = evas_file_path_join(dir, fname);
@@ -553,7 +553,7 @@
             if (fn)
               {
                  fn->type = 0;
-                 fn->simple.name = strdup(fdir->data);
+                 fn->simple.name = evas_stringshare_add(fdir->data);
                  if (fn->simple.name)
                    {
                       char *p;
@@ -591,11 +591,11 @@
                  fa = calloc(1, sizeof(Evas_Font_Alias));
                  if (fa)
                    {
-                      fa->alias = strdup(fname);
+                      fa->alias = evas_stringshare_add(fname);
                       fa->fn = object_text_font_cache_font_find_x(fd, fdef);
                       if ((!fa->alias) || (!fa->fn))
                         {
-                           if (fa->alias) free(fa->alias);
+                           if (fa->alias) evas_stringshare_del(fa->alias);
                            free(fa);
                         }
                       else
@@ -637,10 +637,10 @@
        fd->fonts = evas_list_remove(fd->fonts, fn);
        for (i = 0; i < 14; i++)
          {
-            if (fn->x.prop[i]) free(fn->x.prop[i]);
+            if (fn->x.prop[i]) evas_stringshare_del(fn->x.prop[i]);
          }
-       if (fn->simple.name) free(fn->simple.name);
-       if (fn->path) free(fn->path);
+       if (fn->simple.name) evas_stringshare_del(fn->simple.name);
+       if (fn->path) evas_stringshare_del(fn->path);
        free(fn);
      }
    while (fd->aliases)
@@ -649,7 +649,7 @@
 
        fa = fd->aliases->data;
        fd->aliases = evas_list_remove(fd->aliases, fa);
-       if (fa->alias) free(fa->alias);
+       if (fa->alias) evas_stringshare_del(fa->alias);
        free(fa);
      }
    free(fd);
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/evas/src/lib/canvas/evas_name.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- evas_name.c 18 Jun 2005 01:00:29 -0000      1.6
+++ evas_name.c 28 Nov 2005 15:18:00 -0000      1.7
@@ -22,13 +22,13 @@
    if (obj->name)
      {
        obj->layer->evas->name_hash = 
evas_hash_del(obj->layer->evas->name_hash, obj->name, obj);
-       free(obj->name);
+       evas_stringshare_del(obj->name);
      }
    if (!name) obj->name = NULL;
    else
      {
-       obj->name = strdup(name);
-       obj->layer->evas->name_hash = 
evas_hash_add(obj->layer->evas->name_hash, obj->name, obj);
+       obj->name = evas_stringshare_add(name);
+       obj->layer->evas->name_hash = 
evas_hash_direct_add(obj->layer->evas->name_hash, obj->name, obj);
      }
 }
 
===================================================================
RCS file: 
/cvsroot/enlightenment/e17/libs/evas/src/lib/canvas/evas_object_image.c,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -3 -r1.34 -r1.35
--- evas_object_image.c 11 Nov 2005 06:09:46 -0000      1.34
+++ evas_object_image.c 28 Nov 2005 15:18:00 -0000      1.35
@@ -138,11 +138,11 @@
        if ((o->cur.key) && (key) && (!strcmp(o->cur.key, key)))
          return;
      }
-   if (o->cur.file) free(o->cur.file);
-   if (o->cur.key) free(o->cur.key);
-   if (file) o->cur.file = strdup(file);
+   if (o->cur.file) evas_stringshare_del(o->cur.file);
+   if (o->cur.key) evas_stringshare_del(o->cur.key);
+   if (file) o->cur.file = evas_stringshare_add(file);
    else o->cur.file = NULL;
-   if (key) o->cur.key = strdup(key);
+   if (key) o->cur.key = evas_stringshare_add(key);
    else o->cur.key = NULL;
    o->prev.file = NULL;
    o->prev.key = NULL;
@@ -1330,8 +1330,8 @@
    return;
    MAGIC_CHECK_END();
    /* free obj */
-   if (o->cur.file) free(o->cur.file);
-   if (o->cur.key) free(o->cur.key);
+   if (o->cur.file) evas_stringshare_del(o->cur.file);
+   if (o->cur.key) evas_stringshare_del(o->cur.key);
    if (o->engine_data)
      
obj->layer->evas->engine.func->image_free(obj->layer->evas->engine.data.output,
                                               o->engine_data);
===================================================================
RCS file: 
/cvsroot/enlightenment/e17/libs/evas/src/lib/canvas/evas_object_main.c,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -3 -r1.40 -r1.41
--- evas_object_main.c  4 Nov 2005 22:53:54 -0000       1.40
+++ evas_object_main.c  28 Nov 2005 15:18:00 -0000      1.41
@@ -27,11 +27,6 @@
    obj->func->free(obj);
    if (obj->name) evas_object_name_set(obj, NULL);
    if (!was_smart_child) evas_object_release(obj, clean_layer);
-   if (obj->name)
-     {
-       free(obj->name);
-       obj->name = NULL;
-     }
    if (obj->clip.clipees)
      evas_list_free(obj->clip.clipees);
    while (obj->clip.changes)
===================================================================
RCS file: 
/cvsroot/enlightenment/e17/libs/evas/src/lib/canvas/evas_object_smart.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -3 -r1.17 -r1.18
--- evas_object_smart.c 8 Nov 2005 11:59:21 -0000       1.17
+++ evas_object_smart.c 28 Nov 2005 15:18:00 -0000      1.18
@@ -225,7 +225,7 @@
    if (!event) return;
    if (!func) return;
    cb = calloc(1, sizeof(Evas_Smart_Callback));
-   cb->event = strdup(event);
+   cb->event = evas_stringshare_add(event);
    cb->func = func;
    cb->func_data = (void *)data;
    obj->smart.callbacks = evas_list_prepend(obj->smart.callbacks, cb);
@@ -326,7 +326,7 @@
        if (cb->delete_me)
          {
             obj->smart.callbacks = evas_list_remove(obj->smart.callbacks, cb);
-            if (cb->event) free(cb->event);
+            if (cb->event) evas_stringshare_add(cb->event);
             free(cb);
          }
      }
@@ -359,7 +359,7 @@
 
        cb = obj->smart.callbacks->data;
        obj->smart.callbacks = evas_list_remove(obj->smart.callbacks, cb);
-       if (cb->event) free(cb->event);
+       if (cb->event) evas_stringshare_add(cb->event);
        free(cb);
      }
    obj->smart.parent = NULL;
===================================================================
RCS file: 
/cvsroot/enlightenment/e17/libs/evas/src/lib/canvas/evas_object_text.c,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -3 -r1.46 -r1.47
--- evas_object_text.c  27 Nov 2005 07:02:34 -0000      1.46
+++ evas_object_text.c  28 Nov 2005 15:18:00 -0000      1.47
@@ -108,8 +108,8 @@
    if ((o->cur.source) && (font_source) &&
        (!strcmp(o->cur.source, font_source)))
      return;
-   if (o->cur.source) free(o->cur.source);
-   if (font_source) o->cur.source = strdup(font_source);
+   if (o->cur.source) evas_stringshare_del(o->cur.source);
+   if (font_source) o->cur.source = evas_stringshare_add(font_source);
    else o->cur.source = NULL;
 }
 
@@ -179,8 +179,8 @@
    o->engine_data = evas_font_load(obj->layer->evas, font, o->cur.source, 
size);
    if (!same_font)
      {
-       if (o->cur.font) free(o->cur.font);
-       if (font) o->cur.font = strdup(font);
+       if (o->cur.font) evas_stringshare_del(o->cur.font);
+       if (font) o->cur.font = evas_stringshare_add(font);
        else o->cur.font = NULL;
        o->prev.font = NULL;
      }
@@ -293,8 +293,8 @@
                                       obj->layer->evas->pointer.x,
                                       obj->layer->evas->pointer.y, 1, 1);
    /* DO II */
-   if (o->cur.text) free(o->cur.text);
-   if (text && *text) o->cur.text = strdup(text);
+   if (o->cur.text) evas_stringshare_del(o->cur.text);
+   if (text && *text) o->cur.text = evas_stringshare_add(text);
    else o->cur.text = NULL;
    o->prev.text = NULL;
    if ((o->engine_data) && (o->cur.text))
@@ -917,7 +917,7 @@
    MAGIC_CHECK_END();
    while (e->font_path)
      {
-       free(e->font_path->data);
+       evas_stringshare_del(e->font_path->data);
        e->font_path = evas_list_remove(e->font_path, e->font_path->data);
      }
 }
@@ -935,7 +935,7 @@
    return;
    MAGIC_CHECK_END();
    if (!path) return;
-   e->font_path = evas_list_append(e->font_path, strdup(path));
+   e->font_path = evas_list_append(e->font_path, evas_stringshare_add(path));
 }
 
 /**
@@ -951,7 +951,7 @@
    return;
    MAGIC_CHECK_END();
    if (!path) return;
-   e->font_path = evas_list_prepend(e->font_path, strdup(path));
+   e->font_path = evas_list_prepend(e->font_path, evas_stringshare_add(path));
 }
 
 /**
@@ -1197,9 +1197,9 @@
    return;
    MAGIC_CHECK_END();
    /* free obj */
-   if (o->cur.text) free(o->cur.text);
-   if (o->cur.font) free(o->cur.font);
-   if (o->cur.source) free(o->cur.source);
+   if (o->cur.text) evas_stringshare_del(o->cur.text);
+   if (o->cur.font) evas_stringshare_del(o->cur.font);
+   if (o->cur.source) evas_stringshare_del(o->cur.source);
    if (o->engine_data) evas_font_free(obj->layer->evas, o->engine_data);
    o->magic = 0;
    free(o);




-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to