[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