efl/legacy
Gustavo Sverzut Barbieri 2e9a9a9700 eina_stringshare_replace() gets in!
I was replicating this code in many places, it should go into eina itself.

It's the right way to change strings that you don't know are
stringshared before, since it will first add a reference and then
remove, making it impossible to have references to go 0 and string
being released before adding new references, fixing the following
possible problem:

   x = eina_stringshare_add("x");
   replace(x, x);

   then:
   incorrect_replace(const char **b, const char *a) {
      eina_stringshare_del(*b); /* reference gets to 0 */
      eina_stringshare_add(a); /* BUG!!! */
      *b = a;
   }




SVN revision: 39903
2009-04-08 18:25:02 +00:00
..
ecore SDL output is already there (in "Graphic systems") 2009-03-30 11:27:40 +00:00
edje tentative change... it seems in rare conditions some programs end up doubled 2009-04-01 09:11:48 +00:00
eet * eet: Don't build OpenSSL support when we already build GnuTLS support. 2009-03-26 15:25:15 +00:00
efreet * fix pkg-config requirements 2009-03-27 11:29:20 +00:00
eina eina_stringshare_replace() gets in! 2009-04-08 18:25:02 +00:00
embryo i found it is useless and cdbs is setting up prefix automatically. 2009-03-24 19:56:43 +00:00
emotion i found it is useless and cdbs is setting up prefix automatically. 2009-03-24 19:56:43 +00:00
ethumb ethumb - Thumbnailing Library 2009-03-30 21:22:52 +00:00
evas * evas: Make one more function inline. 2009-04-08 11:08:02 +00:00
evil * src/lib/evil_stdlib.c: 2009-04-08 17:22:12 +00:00