aboutsummaryrefslogtreecommitdiffstats
path: root/e-util/e-memory.c
Commit message (Collapse)AuthorAgeFilesLines
* Modified to match e_strv_get behaviour. Assert on bad cases, and return ""Not Zed2001-04-261-4/+328
| | | | | | | | | | | | | | | | | | | | | | | | | | 2001-04-26 Not Zed <NotZed@Ximian.com> * e-memory.c (e_poolv_get): Modified to match e_strv_get behaviour. Assert on bad cases, and return "" rather than NULL for empty/unset strings. (e_poolv_new): Simplify the mutex cases, only have a single mutex for mempool and hashtable references. (e_poolv_set): Simplify mutex code. Fixed a #ifdef orde prob in profile stuff. Always copy string to our own memory when we add it to the hash, even if we free it; I think this would have led to dangling references otherwise. (e_poolv_destroy): Renamed from poolv_free, for consistency with the rest of the allocators here. (e_poolv_set): Add optional refcounting code here, not currently enabled/used, but should make proper string collection work easily. (e_poolv_destroy): Unrefcount the strings here. (e_poolv_cpy): Add refcounting code here. * e-memory.[ch]: Applied Jacob's patches <jacob@ximian.com> for 'e-poolv' type, added his name to the authors list. svn path=/trunk/; revision=9570
* Added #include <glib.h> and move corresponding local headers to the top toKjartan Maraas2001-04-241-2/+2
| | | | | | | | | | 2001-04-24 Kjartan Maraas <kmaraas@gnome.org> * e-gui-utils.c, e-memory, e-msgport.c, e-pilot-map, e-sexp.c: Added #include <glib.h> and move corresponding local headers to the top to catch missing includes in them. Tip from clahey. svn path=/trunk/; revision=9537
* Remove #include <glib.h> Shuffle some headers. Remove #includeKjartan Maraas2001-03-301-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-03-29 Kjartan Maraas <kmaraas@gnome.org> * e-corba-utils.h: Remove #include <glib.h> * e-dialog-widgets.c: Shuffle some headers. * e-dialog-widgets.h: Remove #include <libgnomeui/gnome-propertybox.h> * e-gtk-utils.c: #include <gtk/gtksignal.h> * e-gtk-utils.h: Replace #include <gtk/gtk.h> * e-gui-utils.c: Replace #include <gnome.h> * e-html-utils.c: Shuffle headers. * e-iterator.c: Replace #include <gtk/gtk.h> * e-iterator.h: Replace #include <gtk/gtk.h> * e-list-iterator.c: Remove #include <gtk/gtk.h> * e-list-iterator.h: Replace #include <gtk/gtk.h> * e-list.c: Remove #include <gtk/gtk.h> * e-list.h: Replace #include <gtk/gtk.h> * e-memory.c: #include <string.h> and <stdlib.h> * e-msgport.c: Move around some includes. s/%d/%ld/g in a printf() call to fix a warning. * e-pilot-map.c: #include <string.h>. Replace #include <gnome.h> * e-pilot-util.c: Remove #include <gnome.h> * e-sexp.c: Remove #include <glib.h> * e-sexp.h: Replace #include <gtk/gtk.h> * e-time-utils.c: #include <string.h> * md5-utils.c: Shuffle headers. * test-ename-western-gtk.c: Replace #include <gnome.h> * test-ename-western.c: Same here. svn path=/trunk/; revision=9016
* Changed to allocate raw blocks for the data, and keep track of them withNot Zed2001-02-081-44/+23
| | | | | | | | | | 2001-02-08 Not Zed <NotZed@Ximian.com> * e-memory.c (EMemChunk): Changed to allocate raw blocks for the data, and keep track of them with an array, this is so the native malloc alignment is not lost at the allocation stage. svn path=/trunk/; revision=8100
* Fix typename of args (for all funcs). (e_strv_set_ref): Assert the indexNot Zed2000-11-301-20/+28
| | | | | | | | | | | | 2000-11-30 Not Zed <NotZed@HelixCode.com> * e-memory.c (e_strv_new): Fix typename of args (for all funcs). (e_strv_set_ref): Assert the index is in range. (e_strv_set_ref_free): " (e_strv_set): " (e_strv_get): " svn path=/trunk/; revision=6733
* Plug a memleak, need to free results from term_eval(). (term_eval_gt):Not Zed2000-11-291-0/+9
| | | | | | | | | | | | | | | | | 2000-11-29 Not Zed <NotZed@HelixCode.com> * e-sexp.c (term_eval_lt): Plug a memleak, need to free results from term_eval(). (term_eval_gt): (term_eval_eq): 2000-11-27 Not Zed <NotZed@HelixCode.com> * e-memory.c (e_mempool_new): Added some locking to global data. This should make the interfaces mt-safe, although each object is only per-thread safe. svn path=/trunk/; revision=6710
* New function, set a reference to a string that is then owned/free'd by theNot Zed2000-11-221-18/+59
| | | | | | | | | | | | 2000-11-22 Not Zed <NotZed@HelixCode.com> * e-memory.c (e_strv_set_ref_free): New function, set a reference to a string that is then owned/free'd by the strv. (e_strv_destroy): If there are any strings to destroy, free them here. svn path=/trunk/; revision=6645
* If we dont get a big enough chunk in the first node, give up. Otherwise weNot Zed2000-11-211-9/+9
| | | | | | | | | | | | 2000-11-22 Not Zed <NotZed@HelixCode.com> * e-memory.c (e_mempool_alloc): If we dont get a big enough chunk in the first node, give up. Otherwise we spend too much time searching. (e_mempool_strdup): Doh, and allocate enough for the terminating NUL at that. svn path=/trunk/; revision=6631
* New function to strdup into a mempool.Not Zed2000-11-211-0/+10
| | | | | | | | | 2000-11-21 Not Zed <NotZed@HelixCode.com> * e-memory.c (e_mempool_strdup): New function to strdup into a mempool. svn path=/trunk/; revision=6630
* New function to allocate a zero'd out chunk.Not Zed2000-11-211-0/+10
| | | | | | | | | 2000-11-21 Not Zed <NotZed@HelixCode.com> * e-memory.c (e_memchunk_alloc0): New function to allocate a zero'd out chunk. svn path=/trunk/; revision=6624
* New routines for fast memory management and compact string array storage.Not Zed2000-11-211-0/+831
2000-11-20 Not Zed <NotZed@HelixCode.com> * e-memory.[ch]: New routines for fast memory management and compact string array storage. * Makefile.am (libeutil_la_SOURCES): Added e-memory.[ch]. svn path=/trunk/; revision=6619