git » fp-git.git » commit 57561fc

added little endiand to big endian conversor for mac

author ecalot
2004-07-30 19:56:12 UTC
committer ecalot
2004-07-30 19:56:12 UTC
parent d6ded7850f96029dd7c775d899172a3c94ee2f9d

added little endiand to big endian conversor for mac

PR/src/lib/layers/disk.c +44 -0

diff --git a/PR/src/lib/layers/disk.c b/PR/src/lib/layers/disk.c
index 9555da7..faf6ae5 100644
--- a/PR/src/lib/layers/disk.c
+++ b/PR/src/lib/layers/disk.c
@@ -493,5 +493,49 @@ int recurseDirectory(const char* path,int optionflag, const char* extension,cons
 	return 1;
 }
 
+#ifdef MACOS
+int macfreads (void* bigEndian,FILE* file) {
+	unsigned short int littleEndian;
+	unsigned char* lit_e=(unsigned char*)&littleEndian;
+	unsigned char* big_e=(unsigned char*)&bigEndian;
+	int result=fread(lit_e,2,1,file);
+	big_e[0]=lit_e[1];
+	big_e[1]=lit_e[0];
+	return result;
+}
+int macfreadl (void* var,FILE* file) {
+	unsigned short int littleEndian;
+	unsigned char* lit_e=(unsigned char*)&littleEndian;
+	unsigned char* big_e=(unsigned char*)&bigEndian;
+	int result=fread(lit_e,4,1,file);
+	big_e[0]=lit_e[3];
+	big_e[1]=lit_e[2];
+	big_e[2]=lit_e[1];
+	big_e[3]=lit_e[0];
+	return result;
+}
+int macfwrites(void* var,FILE* file) {
+	unsigned short int littleEndian;
+	unsigned short int bigEndian=(unsigned short int*)(&var);
+	unsigned char* lit_e=(unsigned char*)&littleEndian;
+	unsigned char* big_e=(unsigned char*)&bigEndian;
+	lit_e[0]=big_e[1];
+	lit_e[1]=big_e[0];
+	return fwrite(lit_e,2,1,file);
+}
+
+int macfwritel(void* var,FILE* file) {
+	unsigned short int littleEndian;
+	unsigned short int bigEndian=(unsigned short int*)(&var);
+	unsigned char* lit_e=(unsigned char*)&littleEndian;
+	unsigned char* big_e=(unsigned char*)&bigEndian;
+	lit_e[0]=big_e[3];
+	lit_e[1]=big_e[2];
+	lit_e[2]=big_e[1];
+	lit_e[3]=big_e[0];
+	return fwrite(lit_e,4,1,file);
+}
+
+#endif
 #endif