From 41e808deca2ad8654b6f8528ae3492013951fcbd Mon Sep 17 00:00:00 2001 From: Not Zed Date: Wed, 23 Apr 2003 01:34:03 +0000 Subject: ** Should fix #41629, #41448, et al. 2003-04-22 Not Zed ** Should fix #41629, #41448, et al. * tests/folder/test10.c: a new torture test for object bag creation/unreffing. * camel-url.c (camel_url_copy): new function to copy a url. * camel-object.c (camel_object_bag_new): add arguments for key copy and key free functions. Fixed all callers. (camel_object_bag_destroy): fix a memleak, free the bag key. (camel_object_bag_get, camel_object_bag_reserve) (camel_object_bag_abort, save_bag, save_object): Make the key a void type, rather than char *. (camel_object_bag_add): As above, and also copy the key. (camel_object_bag_remove_unlocked): free the key using bag->free_key. * camel-session.c (register_provider) (camel_session_destroy_provider, get_service): Changed to use an object bag instead of a hash table for the service 'cache'. (service_cache_remove): Removed, no longer required. svn path=/trunk/; revision=20930 --- camel/camel-url.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'camel/camel-url.h') diff --git a/camel/camel-url.h b/camel/camel-url.h index 562befa83e..4efa315b3f 100644 --- a/camel/camel-url.h +++ b/camel/camel-url.h @@ -35,6 +35,7 @@ extern "C" { #pragma } #endif /* __cplusplus */ +/* if this changes, remember to change camel_url_copy */ typedef struct _CamelURL { char *protocol; char *user; @@ -79,6 +80,7 @@ const char *camel_url_get_param (CamelURL *url, const char *name); /* for putting url's into hash tables */ guint camel_url_hash (const void *v); int camel_url_equal(const void *v, const void *v2); +CamelURL *camel_url_copy(const CamelURL *in); #ifdef __cplusplus } -- cgit v1.2.3