From b29f38e30f5d52847b177d0d1a071aa08a72370d Mon Sep 17 00:00:00 2001
From: Amorilia <amorilia@users.sourceforge.net>
Date: Fri, 6 Apr 2007 15:53:45 +0000
Subject: [PATCH] niflib: * gcc BIG_ENDIAN and LITTLE_ENDIAN name clash fix

---
 SConscript                | 2 +-
 include/nif_basic_types.h | 8 ++++----
 src/NIF_IO.cpp            | 4 ++--
 src/gen/Header.cpp        | 5 -----
 src/niflib.cpp            | 6 +-----
 5 files changed, 8 insertions(+), 17 deletions(-)

diff --git a/SConscript b/SConscript
index 1d6077fb..c14a6de7 100644
--- a/SConscript
+++ b/SConscript
@@ -11,7 +11,7 @@ else:
 
 # generate code
 
-os.system('cd ' + os.path.join('..', 'docsys') + ' && python nifxml_niflib.py -p ' + os.path.join('..' , 'niflib'))
+os.system('cd ' + os.path.join('..', '..', 'docsys') + ' && python nifxml_niflib.py -p ' + os.path.join('..' , 'niflib'))
 
 # list source files
 
diff --git a/include/nif_basic_types.h b/include/nif_basic_types.h
index ef1b7191..e82bb2af 100644
--- a/include/nif_basic_types.h
+++ b/include/nif_basic_types.h
@@ -30,8 +30,8 @@ typedef unsigned char	byte;
 
 /*! Specifies the low-level nature of the storage process */
 enum EndianType {
-	BIG_ENDIAN = 0, /*!< Big Endian storage, such as that used by PowerPC processors */
-	LITTLE_ENDIAN = 1 /*!< Little Endian storage, such as that used by x86 processors */
+	NIF_BIG_ENDIAN = 0, /*!< Big Endian storage, such as that used by PowerPC processors */
+	NIF_LITTLE_ENDIAN = 1 /*!< Little Endian storage, such as that used by x86 processors */
 };
 
 //--Structures--//
@@ -41,12 +41,12 @@ enum EndianType {
  * the way an existing file was stored. 
  */
 struct NifInfo {
-	NifInfo() : version(VER_4_0_0_2), userVersion(0), userVersion2(0), endian(LITTLE_ENDIAN) {}
+	NifInfo() : version(VER_4_0_0_2), userVersion(0), userVersion2(0), endian(NIF_LITTLE_ENDIAN) {}
 	NifInfo( unsigned version, unsigned userVersion = 0, unsigned userVersion2 = 0) {
 		this->version = version;
 		this->userVersion = userVersion;
 		this->userVersion2 = userVersion2;
-		endian = LITTLE_ENDIAN;
+		endian = NIF_LITTLE_ENDIAN;
 	}
 	unsigned version;
 	unsigned userVersion;
diff --git a/src/NIF_IO.cpp b/src/NIF_IO.cpp
index ef9b53dd..04e41708 100644
--- a/src/NIF_IO.cpp
+++ b/src/NIF_IO.cpp
@@ -24,9 +24,9 @@ EndianType DetectEndianType() {
 	short r = *(short *)test;
 
 	if ( r == 1 ) {
-		return LITTLE_ENDIAN;
+		return NIF_LITTLE_ENDIAN;
 	} else {
-		return BIG_ENDIAN;
+		return NIF_BIG_ENDIAN;
 	}		
 }
 
diff --git a/src/gen/Header.cpp b/src/gen/Header.cpp
index 3ca3f592..7c2df9f7 100644
--- a/src/gen/Header.cpp
+++ b/src/gen/Header.cpp
@@ -92,11 +92,6 @@ NifInfo Header::Read( istream& in ) {
 
 	//Fill out and return NifInfo structure.
 	info.userVersion = userVersion;
-	if ( endianType == 0) {
-		info.endian = BIG_ENDIAN;
-	} else {
-		info.endian = LITTLE_ENDIAN;
-	}
 	info.endian = EndianType(endianType);
 	info.creator = creator.str;
 	info.exportInfo1 = exportInfo1.str;
diff --git a/src/niflib.cpp b/src/niflib.cpp
index d0784023..adb94311 100644
--- a/src/niflib.cpp
+++ b/src/niflib.cpp
@@ -162,11 +162,7 @@ vector<NiObjectRef> ReadNifList( istream & in, NifInfo * info ) {
 	info->version = header.version;
 	info->userVersion = header.userVersion;
 	info->userVersion2 = header.userVersion2;
-	if ( header.endianType == 0) {
-		info->endian = BIG_ENDIAN;
-	} else {
-		info->endian = LITTLE_ENDIAN;
-	}
+	info->endian = EndianType(header.endianType);
 	info->creator = header.creator.str;
 	info->exportInfo1 = header.exportInfo1.str;
 	info->exportInfo2 = header.exportInfo2.str;
-- 
GitLab