diff options
Diffstat (limited to 'camel')
-rw-r--r-- | camel/ChangeLog | 6 | ||||
-rw-r--r-- | camel/providers/pop3/camel-pop3-store.c | 33 |
2 files changed, 28 insertions, 11 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog index a514f14c9a..9807aa6242 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,3 +1,9 @@ +2000-04-07 Dan Winship <danw@helixcode.com> + + * providers/pop3/camel-pop3-store.c (pop3_connect): Clarify error + messages. + (finalize): fix a bug in camel_exception usage + 2000-04-07 NotZed <NotZed@HelixCode.com> * providers/Makefile.am: Removed smtp for now, its a long way from diff --git a/camel/providers/pop3/camel-pop3-store.c b/camel/providers/pop3/camel-pop3-store.c index b63cd30342..933e455c42 100644 --- a/camel/providers/pop3/camel-pop3-store.c +++ b/camel/providers/pop3/camel-pop3-store.c @@ -134,7 +134,7 @@ finalize (GtkObject *object) camel_exception_init (&ex); pop3_disconnect (CAMEL_SERVICE (object), &ex); - camel_exception_free (&ex); + camel_exception_clear (&ex); } @@ -289,19 +289,30 @@ pop3_connect (CamelService *service, CamelException *ex) } if (status != CAMEL_POP3_OK ) { - status = camel_pop3_command(store, NULL, "USER %s", + char *msg; + + status = camel_pop3_command(store, &msg, "USER %s", service->url->user); - if (status == CAMEL_POP3_OK) { - status = camel_pop3_command(store, NULL, - "PASS %s", pass); + if (status != CAMEL_POP3_OK) { + camel_exception_setv (ex, CAMEL_EXCEPTION_SERVICE_CANT_AUTHENTICATE, + "Unable to connect to POP " + "server. Error sending username:" + " %s", msg ? msg : "(Unknown)"); + g_free (msg); + g_free (pass); + return FALSE; } - } - if (status != CAMEL_POP3_OK) { - camel_exception_set (ex, - CAMEL_EXCEPTION_SERVICE_CANT_AUTHENTICATE, - "Unable to authenticate to POP server."); - return FALSE; + status = camel_pop3_command(store, &msg, "PASS %s", pass); + if (status != CAMEL_POP3_OK) { + camel_exception_setv (ex, CAMEL_EXCEPTION_SERVICE_CANT_AUTHENTICATE, + "Unable to authenticate to POP " + "server. Error sending password:" + " %s", msg ? msg : "(Unknown)"); + g_free (msg); + g_free (pass); + return FALSE; + } } g_free (pass); |