From 126c3574c3c68e7f969f66aa20cb5b46e6dd0d86 Mon Sep 17 00:00:00 2001 From: Vincent Torri Date: Fri, 26 Nov 2010 17:05:16 +0000 Subject: [PATCH] fix compilation on Windows SVN revision: 55021 --- legacy/efreet/src/lib/efreet_cache.c | 3 +++ legacy/efreet/src/lib/efreet_desktop.c | 11 +++++++++-- legacy/efreet/src/lib/efreet_desktop_command.c | 4 ++++ legacy/efreet/src/lib/efreet_icon.c | 2 ++ legacy/efreet/src/lib/efreet_icon_private.h | 6 ++++++ legacy/efreet/src/lib/efreet_mime.c | 9 +++++++++ legacy/efreet/src/lib/efreet_private.h | 5 ----- legacy/efreet/src/lib/efreet_trash.c | 4 ++++ legacy/efreet/src/lib/efreet_utils.c | 1 + 9 files changed, 38 insertions(+), 7 deletions(-) create mode 100644 legacy/efreet/src/lib/efreet_icon_private.h diff --git a/legacy/efreet/src/lib/efreet_cache.c b/legacy/efreet/src/lib/efreet_cache.c index 98edcd734c..95b7d5bdf2 100644 --- a/legacy/efreet/src/lib/efreet_cache.c +++ b/legacy/efreet/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/legacy/efreet/src/lib/efreet_desktop.c b/legacy/efreet/src/lib/efreet_desktop.c index 0aed55819d..2c7dd75335 100644 --- a/legacy/efreet/src/lib/efreet_desktop.c +++ b/legacy/efreet/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/legacy/efreet/src/lib/efreet_desktop_command.c b/legacy/efreet/src/lib/efreet_desktop_command.c index 061a9b01d2..faaf283465 100644 --- a/legacy/efreet/src/lib/efreet_desktop_command.c +++ b/legacy/efreet/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/legacy/efreet/src/lib/efreet_icon.c b/legacy/efreet/src/lib/efreet_icon.c index dc90c4091d..03994a4e9b 100644 --- a/legacy/efreet/src/lib/efreet_icon.c +++ b/legacy/efreet/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/legacy/efreet/src/lib/efreet_icon_private.h b/legacy/efreet/src/lib/efreet_icon_private.h new file mode 100644 index 0000000000..ee42e0d40f --- /dev/null +++ b/legacy/efreet/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/legacy/efreet/src/lib/efreet_mime.c b/legacy/efreet/src/lib/efreet_mime.c index 50e54a5757..d8a6443df7 100644 --- a/legacy/efreet/src/lib/efreet_mime.c +++ b/legacy/efreet/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/legacy/efreet/src/lib/efreet_private.h b/legacy/efreet/src/lib/efreet_private.h index 2ba8a25500..db031f0dd3 100644 --- a/legacy/efreet/src/lib/efreet_private.h +++ b/legacy/efreet/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/legacy/efreet/src/lib/efreet_trash.c b/legacy/efreet/src/lib/efreet_trash.c index ab0ec21439..a0613833a4 100644 --- a/legacy/efreet/src/lib/efreet_trash.c +++ b/legacy/efreet/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/legacy/efreet/src/lib/efreet_utils.c b/legacy/efreet/src/lib/efreet_utils.c index 9888b4e276..7895fa3c72 100644 --- a/legacy/efreet/src/lib/efreet_utils.c +++ b/legacy/efreet/src/lib/efreet_utils.c @@ -27,6 +27,7 @@ void *alloca (size_t); #include #include +#include #include #include "Efreet.h"