[Scummvm-cvs-logs] SF.net SVN: scummvm: [26020] scummvm/trunk

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Thu Mar 8 17:57:14 CET 2007


Revision: 26020
          http://scummvm.svn.sourceforge.net/scummvm/?rev=26020&view=rev
Author:   fingolfin
Date:     2007-03-08 08:57:14 -0800 (Thu, 08 Mar 2007)

Log Message:
-----------
Moving Nintendo DS std C I/O emulation wrappers to common/file.cpp; also add a FIXME comment (why is assert redefined in ds-fs.h ?)

Modified Paths:
--------------
    scummvm/trunk/backends/fs/ds/ds-fs.h
    scummvm/trunk/common/file.cpp

Modified: scummvm/trunk/backends/fs/ds/ds-fs.h
===================================================================
--- scummvm/trunk/backends/fs/ds/ds-fs.h	2007-03-08 16:53:30 UTC (rev 26019)
+++ scummvm/trunk/backends/fs/ds/ds-fs.h	2007-03-08 16:57:14 UTC (rev 26020)
@@ -105,77 +105,8 @@
 };
 
 
-// File reading
+// FIXME: Why is assert redefined ? And why here (this is definitely the wrong place).
 
-
-struct fileHandle {
-	int pos;
-	bool used;
-	char* data;
-	int size;
-	
-	DSSaveFile* sramFile;
-};
-
-// These functions replease the standard library functions of the same name.
-// As this header is included after the standard one, I have the chance to #define
-// all of these to my own code.
-//
-// A #define is the only way, as redefinig the functions would cause linker errors.
-
-// These functions need to be #undef'ed, as their original definition 
-// in devkitarm is done with #includes (ugh!)
-#undef feof
-#undef stderr
-#undef stdout
-#undef stdin
-#undef clearerr
-#undef getc
-#undef ferror
-
-#define stdout ((DS::fileHandle*) -1)
-#define stderr ((DS::fileHandle*) -2)
-#define stdin ((DS::fileHandle*) -3)
-
-#define FILE DS::fileHandle
-//#define size_t int
-
-//#define FAT_chdir FAT_CWD
-
-FILE* 	std_fopen(const char* name, const char* mode);
-void 	std_fclose(FILE* handle);
-size_t 	std_fread(const void* ptr, size_t size, size_t numItems, FILE* handle);
-size_t 	std_fwrite(const void* ptr, size_t size, size_t numItems, FILE* handle);
-void 	std_fprintf(FILE* handle, const char* fmt, ...);
-bool 	std_feof(FILE* handle);
-void 	std_fflush(FILE* handle);
-char* 	std_fgets(char* str, int size, FILE* file);
-long int std_ftell(FILE* handle);
-int 	std_fseek(FILE* handle, long int offset, int whence);
-void 	std_clearerr(FILE* handle);
-int 	std_getc(FILE* handle);
-char* 	std_getcwd(char* dir, int dunno);
-void 	std_cwd(char* dir);
-int 	std_ferror(FILE* handle);
-
-// Only functions used in the ScummVM source have been defined here!
-#define fopen(name, mode) 					DS::std_fopen(name, mode)
-#define fclose(handle) 						DS::std_fclose(handle)
-#define fread(ptr, size, items, file)		DS::std_fread(ptr, size, items, file)
-#define fwrite(ptr, size, items, file)		DS::std_fwrite(ptr, size, items, file)
-#define feof(handle)						DS::std_feof(handle)
-//#define fprintf(file, fmt, ...)				DS::fprintf(file, fmt, ##__VA_ARGS__)
-#define fprintf(file, fmt, ...)				{ char str[128]; sprintf(str, fmt, ##__VA_ARGS__); DS::std_fwrite(str, strlen(str), 1, file); }
-#define printf(fmt, ...)					consolePrintf(fmt, ##__VA_ARGS__)
-#define fflush(file)						DS::std_fflush(file)
-#define fgets(str, size, file)				DS::std_fgets(str, size, file)
-#define ftell(handle)						DS::std_ftell(handle)
-#define fseek(handle, offset, whence)		DS::std_fseek(handle, offset, whence)
-#define clearerr(handle)					DS::std_clearerr(handle)
-#define getc(handle)						DS::std_getc(handle)
-#define getcwd(dir, dunno)					DS::std_getcwd(dir, dunno)
-#define ferror(handle)						DS::std_ferror(handle)
-
 #ifdef assert
 #undef assert
 #endif

Modified: scummvm/trunk/common/file.cpp
===================================================================
--- scummvm/trunk/common/file.cpp	2007-03-08 16:53:30 UTC (rev 26019)
+++ scummvm/trunk/common/file.cpp	2007-03-08 16:57:14 UTC (rev 26020)
@@ -52,7 +52,79 @@
 	#define fsize(a)			ps2_fsize(a)
 #endif
 
+#ifdef __DS__
 
+	struct fileHandle {
+		int pos;
+		bool used;
+		char* data;
+		int size;
+		
+		DSSaveFile* sramFile;
+	};
+	
+	// These functions replease the standard library functions of the same name.
+	// As this header is included after the standard one, I have the chance to #define
+	// all of these to my own code.
+	//
+	// A #define is the only way, as redefinig the functions would cause linker errors.
+	
+	// These functions need to be #undef'ed, as their original definition 
+	// in devkitarm is done with #includes (ugh!)
+	#undef feof
+	#undef stderr
+	#undef stdout
+	#undef stdin
+	#undef clearerr
+	#undef getc
+	#undef ferror
+	
+	#define stdout ((DS::fileHandle*) -1)
+	#define stderr ((DS::fileHandle*) -2)
+	#define stdin ((DS::fileHandle*) -3)
+	
+	#define FILE DS::fileHandle
+	//#define size_t int
+	
+	//#define FAT_chdir FAT_CWD
+	
+	FILE* 	std_fopen(const char* name, const char* mode);
+	void 	std_fclose(FILE* handle);
+	size_t 	std_fread(const void* ptr, size_t size, size_t numItems, FILE* handle);
+	size_t 	std_fwrite(const void* ptr, size_t size, size_t numItems, FILE* handle);
+	void 	std_fprintf(FILE* handle, const char* fmt, ...);
+	bool 	std_feof(FILE* handle);
+	void 	std_fflush(FILE* handle);
+	char* 	std_fgets(char* str, int size, FILE* file);
+	long int std_ftell(FILE* handle);
+	int 	std_fseek(FILE* handle, long int offset, int whence);
+	void 	std_clearerr(FILE* handle);
+	int 	std_getc(FILE* handle);
+	char* 	std_getcwd(char* dir, int dunno);
+	void 	std_cwd(char* dir);
+	int 	std_ferror(FILE* handle);
+	
+	// Only functions used in the ScummVM source have been defined here!
+	#define fopen(name, mode) 					DS::std_fopen(name, mode)
+	#define fclose(handle) 						DS::std_fclose(handle)
+	#define fread(ptr, size, items, file)		DS::std_fread(ptr, size, items, file)
+	#define fwrite(ptr, size, items, file)		DS::std_fwrite(ptr, size, items, file)
+	#define feof(handle)						DS::std_feof(handle)
+	//#define fprintf(file, fmt, ...)				DS::fprintf(file, fmt, ##__VA_ARGS__)
+	#define fprintf(file, fmt, ...)				{ char str[128]; sprintf(str, fmt, ##__VA_ARGS__); DS::std_fwrite(str, strlen(str), 1, file); }
+	#define printf(fmt, ...)					consolePrintf(fmt, ##__VA_ARGS__)
+	#define fflush(file)						DS::std_fflush(file)
+	#define fgets(str, size, file)				DS::std_fgets(str, size, file)
+	#define ftell(handle)						DS::std_ftell(handle)
+	#define fseek(handle, offset, whence)		DS::std_fseek(handle, offset, whence)
+	#define clearerr(handle)					DS::std_clearerr(handle)
+	#define getc(handle)						DS::std_getc(handle)
+	#define getcwd(dir, dunno)					DS::std_getcwd(dir, dunno)
+	#define ferror(handle)						DS::std_ferror(handle)
+
+#endif
+
+
 namespace Common {
 
 typedef HashMap<String, int, CaseSensitiveString_Hash, CaseSensitiveString_EqualTo> StringIntMap;


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