Enlightenment CVS committal Author : kwo Project : e16 Module : e
Dir : e16/e/src Modified Files: E.h file.c menus-misc.c Log Message: Workaround for image cache stuff on NFS mounts for linux (Jan Nordholz). =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/E.h,v retrieving revision 1.355 retrieving revision 1.356 diff -u -3 -r1.355 -r1.356 --- E.h 31 Jan 2005 22:58:12 -0000 1.355 +++ E.h 1 Feb 2005 21:37:50 -0000 1.356 @@ -1701,6 +1701,7 @@ time_t moddate(const char *s); int filesize(const char *s); int fileinode(const char *s); +int filedev_map(int dev); int filedev(const char *s); void E_cd(const char *s); char *cwd(void); =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/file.c,v retrieving revision 1.64 retrieving revision 1.65 diff -u -3 -r1.64 -r1.65 --- file.c 25 Jan 2005 21:57:14 -0000 1.64 +++ file.c 1 Feb 2005 21:38:21 -0000 1.65 @@ -288,6 +288,29 @@ } int +filedev_map(int dev) +{ +#ifdef __linux__ + /* device numbers in the anonymous range can't be relied + * upon, so map them all on a single one */ + switch (dev >> 8) + { + default: + return dev; + break; + case 0: + case 144: + case 145: + case 146: + return 1; + break; + } +#else + return dev; +#endif +} + +int filedev(const char *s) { struct stat st; @@ -296,7 +319,7 @@ return 0; if (stat(s, &st) < 0) return 0; - return (int)st.st_dev; + return filedev_map((int)st.st_dev); } void =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/menus-misc.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- menus-misc.c 25 Jan 2005 21:57:39 -0000 1.5 +++ menus-misc.c 1 Feb 2005 21:38:35 -0000 1.6 @@ -68,7 +68,7 @@ int aa, bb, cc; aa = (int)st.st_ino; - bb = (int)st.st_dev; + bb = filedev_map((int)st.st_dev); cc = 0; if (st.st_mtime > st.st_ctime) cc = st.st_mtime; @@ -189,7 +189,7 @@ int aa, bb, cc; aa = (int)st.st_ino; - bb = (int)st.st_dev; + bb = filedev_map((int)st.st_dev); cc = 0; if (st.st_mtime > st.st_ctime) cc = st.st_mtime; ------------------------------------------------------- This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting Tool for open source databases. Create drag-&-drop reports. Save time by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. Download a FREE copy at http://www.intelliview.com/go/osdn_nl _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs