Enlightenment CVS committal
Author : doursse
Project : e17
Module : proto/evil
Dir : e17/proto/evil/src/lib
Modified Files:
Evil.h evil.c
Log Message:
* src/lib/Evil.h:
declare pid_t, ssize_t and mode_t for vc++ before flock
structure (vc++)
* src/lib/dlfcn/dlfcn.h:
include limits.h for vc++
* src/lib/evil.c: (symlink), (readlink):
use UNICODE instead of checking the OS. Use PATH_MAX instead
of MB_CUR_MAX when needed
===================================================================
RCS file: /cvs/e/e17/proto/evil/src/lib/Evil.h,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -3 -r1.21 -r1.22
--- Evil.h 3 Jul 2008 09:08:59 -0000 1.21
+++ Evil.h 13 Jul 2008 17:34:53 -0000 1.22
@@ -130,6 +130,14 @@
# define F_UNLCK 2
# endif /* ! F_RDLCK */
+#ifdef _MSC_VER
+
+typedef int pid_t;
+typedef long ssize_t;
+typedef unsigned short mode_t;
+
+#endif /* _MSC_VER */
+
/**
* @struct flock
* @brief A structure that control the lock of a file descriptor.
@@ -559,10 +567,6 @@
#endif /* ! __CEGCC__ */
#ifdef _MSC_VER
-
-typedef int pid_t;
-typedef long ssize_t;
-typedef unsigned short mode_t;
#define F_OK 0 /* Check for file existence */
#define X_OK 1 /* MS access() doesn't check for execute permission. */
===================================================================
RCS file: /cvs/e/e17/proto/evil/src/lib/evil.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -3 -r1.14 -r1.15
--- evil.c 29 Jun 2008 12:09:48 -0000 1.14
+++ evil.c 13 Jul 2008 17:34:53 -0000 1.15
@@ -162,7 +162,9 @@
int
symlink(const char *oldpath, const char *newpath)
{
+#ifdef UNICODE
wchar_t new_path[MB_CUR_MAX];
+#endif /* UNICODE */
IShellLink *pISL;
IShellLink **shell_link;
IPersistFile *pIPF;
@@ -194,10 +196,14 @@
if (FAILED(pISL->lpVtbl->QueryInterface(pISL, &IID_IPersistFile, (void
**)persit_file)))
goto no_queryinterface;
- /* FIXME: is it for cegcc ??? */
+#ifdef UNICODE
mbstowcs(new_path, newpath, MB_CUR_MAX);
if (FAILED(pIPF->lpVtbl->Save(pIPF, new_path, FALSE)))
goto no_save;
+#else
+ if (FAILED(pIPF->lpVtbl->Save(pIPF, newpath, FALSE)))
+ goto no_save;
+#endif /* ! UNICODE */
pIPF->lpVtbl->Release(pIPF);
pISL->lpVtbl->Release(pISL);
@@ -218,8 +224,10 @@
ssize_t
readlink(const char *path, char *buf, size_t bufsiz)
{
+#ifdef UNICODE
wchar_t old_path[MB_CUR_MAX];
- char new_path[MB_CUR_MAX];
+#endif /* UNICODE */
+ char new_path[PATH_MAX];
IShellLink *pISL;
IShellLink **shell_link;
IPersistFile *pIPF;
@@ -244,15 +252,20 @@
(void **)persit_file)))
goto no_instance;
+#ifdef UNICODE
mbstowcs(old_path, path, MB_CUR_MAX);
if (FAILED(pIPF->lpVtbl->Load(pIPF, old_path, STGM_READWRITE)))
goto no_load;
+#else
+ if (FAILED(pIPF->lpVtbl->Load(pIPF, path, STGM_READWRITE)))
+ goto no_load;
+#endif /* ! UNICODE */
shell_link = &pISL;
if (FAILED(pIPF->lpVtbl->QueryInterface(pIPF, &IID_IShellLink, (void
**)shell_link)))
goto no_queryinterface;
- if (FAILED(pISL->lpVtbl->GetPath(pISL, new_path, MB_CUR_MAX, NULL, 0)))
+ if (FAILED(pISL->lpVtbl->GetPath(pISL, new_path, PATH_MAX, NULL, 0)))
goto no_getpath;
length = strlen(new_path);
-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
enlightenment-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs