[Scummvm-cvs-logs] SF.net SVN: scummvm:[35594] scummvm/trunk/backends/platform/wince/missing/ missing.cpp
knakos at users.sourceforge.net
knakos at users.sourceforge.net
Sun Dec 28 21:19:22 CET 2008
Revision: 35594
http://scummvm.svn.sourceforge.net/scummvm/?rev=35594&view=rev
Author: knakos
Date: 2008-12-28 20:19:22 +0000 (Sun, 28 Dec 2008)
Log Message:
-----------
workaround for ce's limitation of cwd in _access too
Modified Paths:
--------------
scummvm/trunk/backends/platform/wince/missing/missing.cpp
Modified: scummvm/trunk/backends/platform/wince/missing/missing.cpp
===================================================================
--- scummvm/trunk/backends/platform/wince/missing/missing.cpp 2008-12-28 20:16:53 UTC (rev 35593)
+++ scummvm/trunk/backends/platform/wince/missing/missing.cpp 2008-12-28 20:19:22 UTC (rev 35594)
@@ -150,8 +150,8 @@
return NULL;
if (fname[0] != '\\' && fname[0] != '/') {
getcwd(fullname, MAX_PATH);
- strncat(fullname, "\\", MAX_PATH-strlen(fullname)-1);
- strncat(fullname, fname, MAX_PATH-strlen(fullname)-strlen(fname));
+ strcat(fullname, "\\");
+ strcat(fullname, fname);
return fopen(fullname, fmode);
} else
return fopen(fname, fmode);
@@ -168,8 +168,16 @@
/* check out file access permissions */
int _access(const char *path, int mode) {
TCHAR fname[MAX_PATH];
- MultiByteToWideChar(CP_ACP, 0, path, -1, fname, sizeof(fname)/sizeof(TCHAR));
+ char fullname[MAX_PATH+1];
+ if (path[0] != '\\' && path[0] != '/') {
+ getcwd(fullname, MAX_PATH);
+ strcat(fullname, "\\");
+ strcat(fullname, path);
+ MultiByteToWideChar(CP_ACP, 0, fullname, -1, fname, sizeof(fname)/sizeof(TCHAR));
+ } else
+ MultiByteToWideChar(CP_ACP, 0, path, -1, fname, sizeof(fname)/sizeof(TCHAR));
+
WIN32_FIND_DATA ffd;
HANDLE h = FindFirstFile(fname, &ffd);
FindClose(h);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list