From 2920d940f66bd39868139d4d80893090283cac04 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Thu, 15 Feb 2001 23:10:30 +0000 Subject: [PATCH] now E shouldnt segv if efsd goes pfffffffffft SVN revision: 4226 --- src/fs.c | 55 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 28 insertions(+), 27 deletions(-) diff --git a/src/fs.c b/src/fs.c index 8a46f1e3c..6d0b0fead 100644 --- a/src/fs.c +++ b/src/fs.c @@ -8,33 +8,34 @@ static void _e_fs_fd_handle(int fd); static void _e_fs_fd_handle_a_la_cK(int fd) { - EfsdEvent ev; - Evas_List l; - - while (efsd_events_pending(ec)) - { - bzero(&ev, sizeof(EfsdEvent)); - - if (efsd_next_event(ec, &ev) >= 0) - { - for (l = fs_handlers; l; l = l->next) - { - void (*func) (EfsdEvent *ev); - - func = l->data; - func(&ev); - } - } - else - { - efsd_close(ec); - e_del_event_fd(fd); - /* FIXME: need to queue a popup dialog here saying */ - /* efsd went wonky */ - printf("EEEEEEEEEEK efsd went wonky\n"); - } - - efsd_cleanup_event(&ev); + EfsdEvent ev; + Evas_List l; + + while ((ec) && efsd_events_pending(ec)) + { + ZERO(&ev, EfsdEvent, 1); + + if (efsd_next_event(ec, &ev) >= 0) + { + for (l = fs_handlers; l; l = l->next) + { + void (*func) (EfsdEvent *ev); + + func = l->data; + func(&ev); + } + } + else + { + efsd_close(ec); + e_del_event_fd(fd); + ec = NULL; + /* FIXME: need to queue a popup dialog here saying */ + /* efsd went wonky */ + printf("EEEEEEEEEEK efsd went wonky\n"); + } + + efsd_cleanup_event(&ev); } }