From c8c4f6bf9f2a34c50cdc4b8ef2a9392a244b4b4c Mon Sep 17 00:00:00 2001 From: Vincent Torri Date: Tue, 4 Jan 2011 18:09:22 +0000 Subject: [PATCH] make eina compile again on Windows CE SVN revision: 55853 --- legacy/eina/src/lib/eina_file_win32.c | 34 +++++++++++++++++++++++---- legacy/eina/src/lib/eina_log.c | 15 +++++++++--- legacy/eina/src/lib/eina_quadtree.c | 4 ++++ 3 files changed, 45 insertions(+), 8 deletions(-) diff --git a/legacy/eina/src/lib/eina_file_win32.c b/legacy/eina/src/lib/eina_file_win32.c index 7c2910ef7b..f21a8f6afb 100644 --- a/legacy/eina/src/lib/eina_file_win32.c +++ b/legacy/eina/src/lib/eina_file_win32.c @@ -183,7 +183,11 @@ _eina_file_win32_first_file(const char *dir, WIN32_FIND_DATA *fd) static Eina_Bool _eina_file_win32_ls_iterator_next(Eina_File_Iterator *it, void **data) { +#ifdef UNICODE + wchar_t *old_name; +#else char *old_name; +#endif char *name; char *cname; size_t length; @@ -194,7 +198,11 @@ _eina_file_win32_ls_iterator_next(Eina_File_Iterator *it, void **data) return EINA_FALSE; is_last = it->is_last; - old_name = strdup(it->data.cFileName); +#ifdef UNICODE + old_name = _wcsdup(it->data.cFileName); +#else + old_name = _strdup(it->data.cFileName); +#endif if (!old_name) return EINA_FALSE; @@ -208,7 +216,7 @@ _eina_file_win32_ls_iterator_next(Eina_File_Iterator *it, void **data) } } while ((it->data.cFileName[0] == '.') && ((it->data.cFileName[1] == '\0') || - ((it->data.cFileName[1] == '.') && (it->data.cFileName[2] == '\0')))); + ((it->data.cFileName[1] == '.') && (it->data.cFileName[2] == '\0')))); /* FIXME: what about UNICODE ? */ #ifdef UNICODE cname = evil_wchar_to_char(old_name); @@ -257,7 +265,11 @@ _eina_file_win32_ls_iterator_free(Eina_File_Iterator *it) static Eina_Bool _eina_file_win32_direct_ls_iterator_next(Eina_File_Direct_Iterator *it, void **data) { +#ifdef UNICODE + wchar_t *old_name; +#else char *old_name; +#endif char *cname; size_t length; DWORD attr; @@ -269,7 +281,11 @@ _eina_file_win32_direct_ls_iterator_next(Eina_File_Direct_Iterator *it, void **d attr = it->data.dwFileAttributes; is_last = it->is_last; - old_name = strdup(it->data.cFileName); +#ifdef UNICODE + old_name = _wcsdup(it->data.cFileName); +#else + old_name = _strdup(it->data.cFileName); +#endif if (!old_name) return EINA_FALSE; @@ -282,17 +298,25 @@ _eina_file_win32_direct_ls_iterator_next(Eina_File_Direct_Iterator *it, void **d res = EINA_FALSE; } +#ifdef UNICODE + length = wcslen(old_name); +#else length = strlen(old_name); +#endif if (it->info.name_start + length + 1 >= PATH_MAX) { free(old_name); - old_name = strdup(it->data.cFileName); +#ifdef UNICODE + old_name = _wcsdup(it->data.cFileName); +#else + old_name = _strdup(it->data.cFileName); +#endif continue; } } while ((it->data.cFileName[0] == '.') && ((it->data.cFileName[1] == '\0') || - ((it->data.cFileName[1] == '.') && (it->data.cFileName[2] == '\0')))); + ((it->data.cFileName[1] == '.') && (it->data.cFileName[2] == '\0')))); /* FIXME: what about UNICODE ? */ #ifdef UNICODE cname = evil_wchar_to_char(old_name); diff --git a/legacy/eina/src/lib/eina_log.c b/legacy/eina/src/lib/eina_log.c index 8c04f46216..33c021dd6f 100644 --- a/legacy/eina/src/lib/eina_log.c +++ b/legacy/eina/src/lib/eina_log.c @@ -693,7 +693,10 @@ eina_log_print_prefix_NOthreads_color_file_func(FILE *fp, int line) { DECLARE_LEVEL_NAME_COLOR(level); -#ifdef _WIN32 +#ifdef _WIN32_WCE + fprintf(fp, "%s<%u>:%s %s:%d %s() ", name, eina_log_pid_get(), + d->domain_str, file, line, fnc); +#elif _WIN32 SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), color); fprintf(fp, "%s", name); @@ -731,7 +734,10 @@ eina_log_print_prefix_NOthreads_color_NOfile_func(FILE *fp, int line __UNUSED__) { DECLARE_LEVEL_NAME_COLOR(level); -#ifdef _WIN32 +#ifdef _WIN32_WCE + fprintf(fp, "%s<%u>:%s %s() ", name, eina_log_pid_get(), d->domain_str, + fnc); +#elif _WIN32 SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), color); fprintf(fp, "%s", name); @@ -766,7 +772,10 @@ eina_log_print_prefix_NOthreads_color_file_NOfunc(FILE *fp, int line) { DECLARE_LEVEL_NAME_COLOR(level); -#ifdef _WIN32 +#ifdef _WIN32_WCE + fprintf(fp, "%s<%u>:%s %s:%d ", name, eina_log_pid_get(), d->domain_str, + file, line); +#elif _WIN32 SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), color); fprintf(fp, "%s", name); diff --git a/legacy/eina/src/lib/eina_quadtree.c b/legacy/eina/src/lib/eina_quadtree.c index 0aa47e26ca..daf03d080a 100644 --- a/legacy/eina/src/lib/eina_quadtree.c +++ b/legacy/eina/src/lib/eina_quadtree.c @@ -30,6 +30,10 @@ #include #include +#ifdef HAVE_EVIL +# include +#endif + #include "eina_quadtree.h" #include "eina_magic.h" #include "eina_mempool.h"