aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/ecore/src/lib/ecore_file
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--libraries/ecore/src/lib/ecore_file/Makefile.in20
-rw-r--r--libraries/ecore/src/lib/ecore_file/ecore_file.c2
-rw-r--r--libraries/ecore/src/lib/ecore_file/ecore_file_download.c40
3 files changed, 37 insertions, 25 deletions
diff --git a/libraries/ecore/src/lib/ecore_file/Makefile.in b/libraries/ecore/src/lib/ecore_file/Makefile.in
index 04e0bf1..a80ece3 100644
--- a/libraries/ecore/src/lib/ecore_file/Makefile.in
+++ b/libraries/ecore/src/lib/ecore_file/Makefile.in
@@ -50,16 +50,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
50 $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ 50 $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \
51 $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \ 51 $(top_srcdir)/m4/efl_threads.m4 $(top_srcdir)/m4/gettext.m4 \
52 $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ 52 $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
53 $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lib-ld.m4 \ 53 $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
54 $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ 54 $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
55 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ 55 $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
56 $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ 56 $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
57 $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ 57 $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
58 $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ 58 $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
59 $(top_srcdir)/configure.ac
60am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 59am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
61 $(ACLOCAL_M4) 60 $(ACLOCAL_M4)
62mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs 61mkinstalldirs = $(install_sh) -d
63CONFIG_HEADER = $(top_builddir)/config.h 62CONFIG_HEADER = $(top_builddir)/config.h
64CONFIG_CLEAN_FILES = 63CONFIG_CLEAN_FILES =
65CONFIG_CLEAN_VPATH_FILES = 64CONFIG_CLEAN_VPATH_FILES =
@@ -195,6 +194,8 @@ EVAS_LIBS = @EVAS_LIBS@
195EVIL_CFLAGS = @EVIL_CFLAGS@ 194EVIL_CFLAGS = @EVIL_CFLAGS@
196EVIL_LIBS = @EVIL_LIBS@ 195EVIL_LIBS = @EVIL_LIBS@
197EXEEXT = @EXEEXT@ 196EXEEXT = @EXEEXT@
197EXOTIC_CFLAGS = @EXOTIC_CFLAGS@
198EXOTIC_LIBS = @EXOTIC_LIBS@
198FGREP = @FGREP@ 199FGREP = @FGREP@
199GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ 200GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
200GLIB_CFLAGS = @GLIB_CFLAGS@ 201GLIB_CFLAGS = @GLIB_CFLAGS@
@@ -250,6 +251,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
250PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ 251PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
251PIXMAN_LIBS = @PIXMAN_LIBS@ 252PIXMAN_LIBS = @PIXMAN_LIBS@
252PKG_CONFIG = @PKG_CONFIG@ 253PKG_CONFIG = @PKG_CONFIG@
254PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
255PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
253POSUB = @POSUB@ 256POSUB = @POSUB@
254RANLIB = @RANLIB@ 257RANLIB = @RANLIB@
255SCIM_CFLAGS = @SCIM_CFLAGS@ 258SCIM_CFLAGS = @SCIM_CFLAGS@
@@ -260,6 +263,7 @@ SDL_LIBS = @SDL_LIBS@
260SED = @SED@ 263SED = @SED@
261SET_MAKE = @SET_MAKE@ 264SET_MAKE = @SET_MAKE@
262SHELL = @SHELL@ 265SHELL = @SHELL@
266SHM_OPEN_LIBS = @SHM_OPEN_LIBS@
263SSL_CFLAGS = @SSL_CFLAGS@ 267SSL_CFLAGS = @SSL_CFLAGS@
264SSL_LIBS = @SSL_LIBS@ 268SSL_LIBS = @SSL_LIBS@
265STRIP = @STRIP@ 269STRIP = @STRIP@
diff --git a/libraries/ecore/src/lib/ecore_file/ecore_file.c b/libraries/ecore/src/lib/ecore_file/ecore_file.c
index cfbf2b5..cb03717 100644
--- a/libraries/ecore/src/lib/ecore_file/ecore_file.c
+++ b/libraries/ecore/src/lib/ecore_file/ecore_file.c
@@ -821,6 +821,8 @@ ecore_file_ls(const char *dir)
821 Eina_List *list = NULL; 821 Eina_List *list = NULL;
822 822
823 ls = eina_file_direct_ls(dir); 823 ls = eina_file_direct_ls(dir);
824 if (!ls) return NULL;
825
824 EINA_ITERATOR_FOREACH(ls, info) 826 EINA_ITERATOR_FOREACH(ls, info)
825 { 827 {
826 char *f; 828 char *f;
diff --git a/libraries/ecore/src/lib/ecore_file/ecore_file_download.c b/libraries/ecore/src/lib/ecore_file/ecore_file_download.c
index c5e56bd..971493e 100644
--- a/libraries/ecore/src/lib/ecore_file/ecore_file_download.c
+++ b/libraries/ecore/src/lib/ecore_file/ecore_file_download.c
@@ -45,22 +45,27 @@ static Ecore_Event_Handler *_url_complete_handler = NULL;
45static Ecore_Event_Handler *_url_progress_download = NULL; 45static Ecore_Event_Handler *_url_progress_download = NULL;
46static Eina_List *_job_list; 46static Eina_List *_job_list;
47 47
48static int download_init = 0;
49
48#endif /* BUILD_ECORE_CON */ 50#endif /* BUILD_ECORE_CON */
49 51
50int 52int
51ecore_file_download_init(void) 53ecore_file_download_init(void)
52{ 54{
53#ifdef BUILD_ECORE_CON 55#ifdef BUILD_ECORE_CON
54 if (!ecore_con_url_init()) 56 download_init++;
55 return 0; 57 if (download_init > 1) return 1;
56 58 if (!ecore_con_init()) return 0;
59 if (!ecore_con_url_init())
60 {
61 ecore_con_shutdown();
62 return 0;
63 }
57# ifdef HAVE_CURL 64# ifdef HAVE_CURL
58 _url_complete_handler = ecore_event_handler_add(ECORE_CON_EVENT_URL_COMPLETE, _ecore_file_download_url_complete_cb, NULL); 65 _url_complete_handler = ecore_event_handler_add(ECORE_CON_EVENT_URL_COMPLETE, _ecore_file_download_url_complete_cb, NULL);
59 _url_progress_download = ecore_event_handler_add(ECORE_CON_EVENT_URL_PROGRESS, _ecore_file_download_url_progress_cb, NULL); 66 _url_progress_download = ecore_event_handler_add(ECORE_CON_EVENT_URL_PROGRESS, _ecore_file_download_url_progress_cb, NULL);
60# endif 67# endif
61
62#endif /* BUILD_ECORE_CON */ 68#endif /* BUILD_ECORE_CON */
63
64 return 1; 69 return 1;
65} 70}
66 71
@@ -68,15 +73,17 @@ void
68ecore_file_download_shutdown(void) 73ecore_file_download_shutdown(void)
69{ 74{
70#ifdef BUILD_ECORE_CON 75#ifdef BUILD_ECORE_CON
71 if (_url_complete_handler) 76 download_init--;
72 ecore_event_handler_del(_url_complete_handler); 77 if (download_init > 0) return;
73 if (_url_progress_download) 78 if (_url_complete_handler)
74 ecore_event_handler_del(_url_progress_download); 79 ecore_event_handler_del(_url_complete_handler);
75 _url_complete_handler = NULL; 80 if (_url_progress_download)
76 _url_progress_download = NULL; 81 ecore_event_handler_del(_url_progress_download);
77 ecore_file_download_abort_all(); 82 _url_complete_handler = NULL;
78 83 _url_progress_download = NULL;
79 ecore_con_url_shutdown(); 84 ecore_file_download_abort_all();
85 ecore_con_url_shutdown();
86 ecore_con_shutdown();
80#endif /* BUILD_ECORE_CON */ 87#endif /* BUILD_ECORE_CON */
81} 88}
82 89
@@ -362,7 +369,6 @@ _ecore_file_download_curl(const char *url, const char *dst,
362 } 369 }
363 370
364 if (headers) eina_hash_foreach(headers, _ecore_file_download_headers_foreach_cb, job); 371 if (headers) eina_hash_foreach(headers, _ecore_file_download_headers_foreach_cb, job);
365 ecore_con_url_timeout_set(job->url_con, ECORE_FILE_DOWNLOAD_TIMEOUT);
366 ecore_con_url_fd_set(job->url_con, fileno(job->file)); 372 ecore_con_url_fd_set(job->url_con, fileno(job->file));
367 ecore_con_url_data_set(job->url_con, data); 373 ecore_con_url_data_set(job->url_con, data);
368 374