diff options
author | Not Zed <NotZed@Ximian.com> | 2004-01-29 16:24:16 +0800 |
---|---|---|
committer | Michael Zucci <zucchi@src.gnome.org> | 2004-01-29 16:24:16 +0800 |
commit | a96a5b74204b32b147e2cfacfec6c9d9e9ee2bf4 (patch) | |
tree | e66755a8e11a5f6612fe0d4dabe5b7675731f9da /camel/camel-session.c | |
parent | aadeb422d2dca792606159a24de45ce074170e0d (diff) | |
download | gsoc2013-evolution-a96a5b74204b32b147e2cfacfec6c9d9e9ee2bf4.tar gsoc2013-evolution-a96a5b74204b32b147e2cfacfec6c9d9e9ee2bf4.tar.gz gsoc2013-evolution-a96a5b74204b32b147e2cfacfec6c9d9e9ee2bf4.tar.bz2 gsoc2013-evolution-a96a5b74204b32b147e2cfacfec6c9d9e9ee2bf4.tar.lz gsoc2013-evolution-a96a5b74204b32b147e2cfacfec6c9d9e9ee2bf4.tar.xz gsoc2013-evolution-a96a5b74204b32b147e2cfacfec6c9d9e9ee2bf4.tar.zst gsoc2013-evolution-a96a5b74204b32b147e2cfacfec6c9d9e9ee2bf4.zip |
added a doc comment.
2004-01-29 Not Zed <NotZed@Ximian.com>
* camel-object.c (camel_object_bag_rekey): added a doc comment.
** See bug #53520.
* camel-session.c (get_service): free the url once done, it now
gets copied by the service.
* camel-service.c (construct): copy the url that comes in, don't
just '0Wn34z' it. clena up exception handling too.
svn path=/trunk/; revision=24513
Diffstat (limited to 'camel/camel-session.c')
-rw-r--r-- | camel/camel-session.c | 29 |
1 files changed, 14 insertions, 15 deletions
diff --git a/camel/camel-session.c b/camel/camel-session.c index 0e5efa1d9c..8b2268908e 100644 --- a/camel/camel-session.c +++ b/camel/camel-session.c @@ -416,22 +416,21 @@ get_service (CamelSession *session, const char *url_string, /* Now look up the service in the provider's cache */ service = camel_object_bag_reserve(provider->service_cache[type], url); - if (service != NULL) { - camel_url_free (url); - return service; - } - - service = (CamelService *)camel_object_new (provider->object_types[type]); - camel_exception_init (&internal_ex); - camel_service_construct (service, session, provider, url, &internal_ex); - if (camel_exception_is_set (&internal_ex)) { - camel_exception_xfer (ex, &internal_ex); - camel_object_unref (service); - service = NULL; - camel_object_bag_abort(provider->service_cache[type], url); - } else { - camel_object_bag_add(provider->service_cache[type], url, service); + if (service == NULL) { + service = (CamelService *)camel_object_new (provider->object_types[type]); + camel_exception_init (&internal_ex); + camel_service_construct (service, session, provider, url, &internal_ex); + if (camel_exception_is_set (&internal_ex)) { + camel_exception_xfer (ex, &internal_ex); + camel_object_unref (service); + service = NULL; + camel_object_bag_abort(provider->service_cache[type], url); + } else { + camel_object_bag_add(provider->service_cache[type], url, service); + } } +done: + camel_url_free (url); return service; } |