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:
add POSIX definitions
* src/lib/evil.c:
make realpath available with cegcc. The function
just copy the file name to the resolved name with
that compiler

===================================================================
RCS file: /cvs/e/e17/proto/evil/src/lib/Evil.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- Evil.h      22 Mar 2008 08:35:43 -0000      1.6
+++ Evil.h      23 Mar 2008 14:51:22 -0000      1.7
@@ -282,6 +282,29 @@
 #if defined(__MSDOS__) || defined(__EMX__) || \
    (defined(_WIN32) && !defined(_UWIN) && !defined(__CYGWIN__) && 
!defined(__CEGCC__))
 # if defined(_MSC_VER) || defined(__MINGW32__)
+
+struct stat
+{
+       _dev_t  st_dev;         /* Equivalent to drive number 0=A 1=B ... */
+       _ino_t  st_ino;         /* Always zero ? */
+       _mode_t st_mode;        /* See above constants */
+       short   st_nlink;       /* Number of links. */
+       short   st_uid;         /* User: Maybe significant on NT ? */
+       short   st_gid;         /* Group: Ditto */
+       _dev_t  st_rdev;        /* Seems useless (not even filled in) */
+       _off_t  st_size;        /* File size in bytes */
+       time_t  st_atime;       /* Accessed date (always 00:00 hrs local
+                                * on FAT) */
+       time_t  st_mtime;       /* Modified time */
+       time_t  st_ctime;       /* Creation time */
+};
+
+#  define S_ISDIR(m) (((m) & _S_IFMT) == _S_IFDIR)
+#  define S_ISREG(m) (((m) & _S_IFMT) == _S_IFREG)
+
+#  define S_IRUSR _S_IRUSR
+#  define S_IWUSR _S_IWUSR
+#  define S_IXUSR _S_IXUSR
 #  define S_IRGRP S_IRUSR
 #  define S_IROTH S_IRUSR
 #  define S_IWGRP S_IWUSR
@@ -294,11 +317,10 @@
 #  define write(fd,buffer,count) _write((fd),(buffer),(count))
 #  define unlink(filename) _unlink((filename))
 #  define mkdir(p,m) _mkdir(p)
+
 # endif
 #endif
 
-
-#if ! ( defined(__CEGCC__) || defined(__MINGW32CE__) )
 /**
  * @brief Return an absolute or full path name for a specified relative path 
name.
  *
@@ -324,9 +346,6 @@
  * @ingroup Evil
  */
 EAPI char *realpath(const char *file_name, char *resolved_name);
-
-#endif /* ! __CEGCC__  && ! __MINGW32CE__ */
-
 
 /**
  * @brief Initiates the use of Windows sockets.
===================================================================
RCS file: /cvs/e/e17/proto/evil/src/lib/evil.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- evil.c      5 Mar 2008 11:22:46 -0000       1.4
+++ evil.c      23 Mar 2008 14:51:22 -0000      1.5
@@ -151,6 +151,7 @@
    if (FAILED(pISL->lpVtbl->QueryInterface(pISL, &IID_IPersistFile, (void 
**)persit_file)))
      goto no_queryinterface;
 
+   /* FIXME: is it for cegcc ??? */
    mbstowcs(new_path, newpath, MB_CUR_MAX);
    if (FAILED(pIPF->lpVtbl->Save(pIPF, new_path, FALSE)))
      goto no_save;
@@ -345,13 +346,23 @@
 
 #endif /* ! __CEGCC__ */
 
-#if ! ( defined(__CEGCC__) || defined(__MINGW32CE__) )
 char *
 realpath(const char *file_name, char *resolved_name)
 {
-  return _fullpath(resolved_name, file_name, PATH_MAX);
+#if ! ( defined(__CEGCC__) || defined(__MINGW32CE__) )
+   return _fullpath(resolved_name, file_name, PATH_MAX);
+#else
+   int length;
+
+   length = strlen(file_name);
+   if ((length + 1) > PATH_MAX)
+     length = PATH_MAX - 1;
+   memcpy(resolved_name, file_name, length);
+   resolved_name[length] = '\0';
+
+   return resolved_name;
+#endif /* __CEGCC__ || __MINGW32CE__ */
 }
-#endif /* ! __CEGCC__  && ! __MINGW32CE__ */
 
 int
 evil_sockets_init(void)



-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to