diff options
author | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2008-09-17 01:52:42 +0000 |
---|---|---|
committer | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2008-09-17 01:52:42 +0000 |
commit | 82849c6daf5e071c7511f8d8553bc42a099c70e5 (patch) | |
tree | c92b04f99f7d871fb4b957740bb933763a099ddc /libsylph/session.c | |
parent | 7b7ba149faae102d7b4621f8bb4d17f93d38b01b (diff) |
implemented remote POP3 mailbox.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@2031 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'libsylph/session.c')
-rw-r--r-- | libsylph/session.c | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/libsylph/session.c b/libsylph/session.c index 01962b11..762c00b1 100644 --- a/libsylph/session.c +++ b/libsylph/session.c @@ -119,10 +119,20 @@ void session_init(Session *session) gint session_connect(Session *session, const gchar *server, gushort port) { -#ifdef G_OS_UNIX - session->server = g_strdup(server); +#ifndef G_OS_UNIX + SockInfo *sock; +#endif + g_return_val_if_fail(session != NULL, -1); + g_return_val_if_fail(server != NULL, -1); + g_return_val_if_fail(port > 0, -1); + + if (session->server && session->server != server) { + g_free(session->server); + session->server = g_strdup(server); + } session->port = port; +#ifdef G_OS_UNIX session->conn_id = sock_connect_async(server, port, session_connect_cb, session); if (session->conn_id < 0) { @@ -133,11 +143,6 @@ gint session_connect(Session *session, const gchar *server, gushort port) return 0; #else - SockInfo *sock; - - session->server = g_strdup(server); - session->port = port; - sock = sock_connect(server, port); if (sock == NULL) { g_warning("can't connect to server."); |