forked from enlightenment/enlightenment
some stringshare improvements for e_path_find
SVN revision: 81526
This commit is contained in:
parent
4ee20a2c2f
commit
e9ea6454d9
|
@ -232,6 +232,7 @@ e_path_find(E_Path *ep, const char *file)
|
||||||
Eina_List *l;
|
Eina_List *l;
|
||||||
E_Path_Dir *epd;
|
E_Path_Dir *epd;
|
||||||
char *str;
|
char *str;
|
||||||
|
Eina_Stringshare *ret;
|
||||||
char buf[PATH_MAX] = "";
|
char buf[PATH_MAX] = "";
|
||||||
|
|
||||||
E_OBJECT_CHECK_RETURN(ep, NULL);
|
E_OBJECT_CHECK_RETURN(ep, NULL);
|
||||||
|
@ -239,7 +240,7 @@ e_path_find(E_Path *ep, const char *file)
|
||||||
|
|
||||||
if (!file) return NULL;
|
if (!file) return NULL;
|
||||||
str = eina_hash_find(ep->hash, file);
|
str = eina_hash_find(ep->hash, file);
|
||||||
if (str) return eina_stringshare_add(str);
|
if (str) return eina_stringshare_ref(str);
|
||||||
/* Look in the default dir list */
|
/* Look in the default dir list */
|
||||||
EINA_LIST_FOREACH(ep->default_dir_list, l, epd)
|
EINA_LIST_FOREACH(ep->default_dir_list, l, epd)
|
||||||
{
|
{
|
||||||
|
@ -252,9 +253,9 @@ e_path_find(E_Path *ep, const char *file)
|
||||||
ep->hash = eina_hash_string_superfast_new(NULL);
|
ep->hash = eina_hash_string_superfast_new(NULL);
|
||||||
if (eina_hash_population(ep->hash) >= 512)
|
if (eina_hash_population(ep->hash) >= 512)
|
||||||
_e_path_cache_free(ep);
|
_e_path_cache_free(ep);
|
||||||
eina_hash_add(ep->hash, file,
|
ret = eina_stringshare_add(buf);
|
||||||
eina_stringshare_add(buf));
|
eina_hash_add(ep->hash, file, ret);
|
||||||
return eina_stringshare_add(buf);
|
return eina_stringshare_ref(ret);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -270,9 +271,9 @@ e_path_find(E_Path *ep, const char *file)
|
||||||
ep->hash = eina_hash_string_superfast_new(NULL);
|
ep->hash = eina_hash_string_superfast_new(NULL);
|
||||||
if (eina_hash_population(ep->hash) >= 512)
|
if (eina_hash_population(ep->hash) >= 512)
|
||||||
_e_path_cache_free(ep);
|
_e_path_cache_free(ep);
|
||||||
eina_hash_add(ep->hash, file,
|
ret = eina_stringshare_add(buf);
|
||||||
eina_stringshare_add(buf));
|
eina_hash_add(ep->hash, file, ret);
|
||||||
return eina_stringshare_add(buf);
|
return eina_stringshare_ref(ret);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue