From f0beacd33d10ec588494c49b3b17c00fe552b2d3 Mon Sep 17 00:00:00 2001 From: caro Date: Fri, 26 Nov 2010 17:05:16 +0000 Subject: [PATCH] fix compilation on Windows git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/efreet@55021 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/lib/efreet_cache.c | 3 +++ src/lib/efreet_desktop.c | 11 +++++++++-- src/lib/efreet_desktop_command.c | 4 ++++ src/lib/efreet_icon.c | 2 ++ src/lib/efreet_icon_private.h | 6 ++++++ src/lib/efreet_mime.c | 9 +++++++++ src/lib/efreet_private.h | 5 ----- src/lib/efreet_trash.c | 4 ++++ src/lib/efreet_utils.c | 1 + 9 files changed, 38 insertions(+), 7 deletions(-) create mode 100644 src/lib/efreet_icon_private.h diff --git a/src/lib/efreet_cache.c b/src/lib/efreet_cache.c index 98edcd7..95b7d5b 100644 --- a/src/lib/efreet_cache.c +++ b/src/lib/efreet_cache.c @@ -6,10 +6,13 @@ #include #include +#include +#include #include #include "Efreet.h" #include "efreet_private.h" +#include "efreet_icon_private.h" typedef struct _Efreet_Old_Cache Efreet_Old_Cache; diff --git a/src/lib/efreet_desktop.c b/src/lib/efreet_desktop.c index 0aed558..2c7dd75 100644 --- a/src/lib/efreet_desktop.c +++ b/src/lib/efreet_desktop.c @@ -26,8 +26,8 @@ void *alloca (size_t); #include #include -#ifdef _WIN32 -# include +#ifdef HAVE_EVIL +# include #endif #include @@ -133,6 +133,12 @@ efreet_desktop_init(void) return 0; } + if (!evil_sockets_init()) + { + ERR("Could not initialize Winsock system"); + return 0; + } + efreet_desktop_cache = eina_hash_string_superfast_new(NULL); efreet_desktop_types = NULL; @@ -168,6 +174,7 @@ efreet_desktop_shutdown(void) EINA_LIST_FREE(efreet_desktop_dirs, dir) eina_stringshare_del(dir); IF_FREE_HASH(change_monitors); + evil_sockets_shutdown(); eina_log_domain_unregister(_efreet_desktop_log_dom); } diff --git a/src/lib/efreet_desktop_command.c b/src/lib/efreet_desktop_command.c index 061a9b0..faaf283 100644 --- a/src/lib/efreet_desktop_command.c +++ b/src/lib/efreet_desktop_command.c @@ -25,6 +25,10 @@ void *alloca (size_t); #include #include +#ifdef _WIN32 +# include +#endif + #include #include "Efreet.h" diff --git a/src/lib/efreet_icon.c b/src/lib/efreet_icon.c index dc90c40..03994a4 100644 --- a/src/lib/efreet_icon.c +++ b/src/lib/efreet_icon.c @@ -28,10 +28,12 @@ void *alloca (size_t); #include #include +#include #include #include "Efreet.h" #include "efreet_private.h" +#include "efreet_icon_private.h" #ifdef EFREET_MODULE_LOG_DOM #undef EFREET_MODULE_LOG_DOM diff --git a/src/lib/efreet_icon_private.h b/src/lib/efreet_icon_private.h new file mode 100644 index 0000000..ee42e0d --- /dev/null +++ b/src/lib/efreet_icon_private.h @@ -0,0 +1,6 @@ +#ifndef EFREET_ICON_PRIVATE_H +#define EFREET_ICON_PRIVATE_H + +EAPI Eet_Data_Descriptor *efreet_desktop_edd_init(void); + +#endif diff --git a/src/lib/efreet_mime.c b/src/lib/efreet_mime.c index 50e54a5..d8a6443 100644 --- a/src/lib/efreet_mime.c +++ b/src/lib/efreet_mime.c @@ -734,7 +734,12 @@ efreet_mime_special_check(const char *file) struct stat s; int path_len = 0; + /* no link on Windows < Vista */ +#ifdef _WIN32 + if (!stat(file, &s)) +#else if (!lstat(file, &s)) +#endif { if (S_ISREG(s.st_mode)) return NULL; @@ -775,7 +780,11 @@ efreet_mime_special_check(const char *file) /* Truncate to last slash */ while (parent[--path_len] != '/') parent[path_len] = '\0'; +#ifdef _WIN32 + if (!stat(file, &s2)) +#else if (!lstat(parent, &s2)) +#endif { if (s.st_dev != s2.st_dev) return _mime_inode_mountpoint; diff --git a/src/lib/efreet_private.h b/src/lib/efreet_private.h index 2ba8a25..db031f0 100644 --- a/src/lib/efreet_private.h +++ b/src/lib/efreet_private.h @@ -1,9 +1,6 @@ #ifndef EFREET_PRIVATE_H #define EFREET_PRIVATE_H -#include -#include - /** * @file efreet_private.h @@ -211,8 +208,6 @@ size_t efreet_array_cat(char *buffer, size_t size, const char *strs[]); const char *efreet_desktop_environment_get(void); -EAPI Eet_Data_Descriptor *efreet_desktop_edd_init(void); - void efreet_util_desktop_cache_reload(void); EAPI const char *efreet_desktop_util_cache_file(void); EAPI const char *efreet_desktop_cache_file(void); diff --git a/src/lib/efreet_trash.c b/src/lib/efreet_trash.c index ab0ec21..a061383 100644 --- a/src/lib/efreet_trash.c +++ b/src/lib/efreet_trash.c @@ -20,6 +20,10 @@ static unsigned int _efreet_trash_init_count = 0; static const char *efreet_trash_dir = NULL; +#ifdef _WIN32 +# define getuid() GetCurrentProcessId() +#endif + /* define macros and variable for using the eina logging system */ #ifdef EFREET_MODULE_LOG_DOM diff --git a/src/lib/efreet_utils.c b/src/lib/efreet_utils.c index 9888b4e..7895fa3 100644 --- a/src/lib/efreet_utils.c +++ b/src/lib/efreet_utils.c @@ -27,6 +27,7 @@ void *alloca (size_t); #include #include +#include #include #include "Efreet.h" -- 2.7.4