From f3e18a0745df99cd49d6982aaeb24943e9583384 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Fri, 23 Sep 2005 05:46:56 +0000 Subject: [PATCH] fix exmaple and spanky SVN revision: 16861 --- legacy/ecore/examples/con_client_example.c | 6 +++--- legacy/ecore/src/lib/ecore_con/ecore_con.c | 24 ++++++++++++++++------ 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/legacy/ecore/examples/con_client_example.c b/legacy/ecore/examples/con_client_example.c index 1a172c7f97..a4e42ad67d 100644 --- a/legacy/ecore/examples/con_client_example.c +++ b/legacy/ecore/examples/con_client_example.c @@ -13,7 +13,7 @@ Ecore_Con_Server *svr; #define SOCKET_NAME "con_example" #define SOCKET_PORT 0 -char *msg = "Hello server!"; +char *msg = "get http://www.enlightenment.org\n"; typedef int (*Handler_Func) (void *data, int type, void *event); @@ -33,8 +33,8 @@ main (int argc, ecore_con_init(); // Try to conect to server. - svr = ecore_con_server_connect(ECORE_CON_REMOTE_SYSTEM, "mail.valinux.co.jp", - 110, NULL); + svr = ecore_con_server_connect(ECORE_CON_REMOTE_SYSTEM, "www.enlightenment.org", + 80, NULL); if (NULL == svr) { printf("*** ERROR: Unable to connect to server.\n"); printf("*** Start con_server_example before running this program.\n"); diff --git a/legacy/ecore/src/lib/ecore_con/ecore_con.c b/legacy/ecore/src/lib/ecore_con/ecore_con.c index 8dc505068a..d14fc1cd2e 100644 --- a/legacy/ecore/src/lib/ecore_con/ecore_con.c +++ b/legacy/ecore/src/lib/ecore_con/ecore_con.c @@ -545,7 +545,8 @@ ecore_con_server_send(Ecore_Con_Server *svr, void *data, int size) if (svr->dead) return 0; if (!data) return 0; if (size < 1) return 0; - ecore_main_fd_handler_active_set(svr->fd_handler, ECORE_FD_READ | ECORE_FD_WRITE); + if (svr->fd_handler) + ecore_main_fd_handler_active_set(svr->fd_handler, ECORE_FD_READ | ECORE_FD_WRITE); if (svr->write_buf) { unsigned char *newbuf; @@ -628,7 +629,8 @@ ecore_con_client_send(Ecore_Con_Client *cl, void *data, int size) if (cl->dead) return 0; if (!data) return 0; if (size < 1) return 0; - ecore_main_fd_handler_active_set(cl->fd_handler, ECORE_FD_READ | ECORE_FD_WRITE); + if (cl->fd_handler) + ecore_main_fd_handler_active_set(cl->fd_handler, ECORE_FD_READ | ECORE_FD_WRITE); if (cl->buf) { unsigned char *newbuf; @@ -1009,17 +1011,27 @@ _ecore_con_cl_handler(void *data, Ecore_Fd_Handler *fd_handler) for (;;) { - int num, lost_server = 0; + int num, lost_server; char buf[READBUFSIZ]; + lost_server = 0; #if USE_OPENSSL if (!svr->ssl) { #endif if ((num = read(svr->fd, buf, READBUFSIZ)) < 1) - lost_server = (errno == EIO || errno == EBADF || - errno == EPIPE || errno == EINVAL || - errno == ENOSPC || num == 0); /* is num == 0 right? */ + { + lost_server = ((errno == EIO) || + (errno == EBADF) || + (errno == EPIPE) || + (errno == EINVAL) || + (errno == ENOSPC) || + (num == 0)); + /* is num == 0 is right - when the server closes us + * off we will get this (as this is called when select + * tells us there is data to read!) + */ + } #if USE_OPENSSL } else