mtd: add jffs2 cleanmarker for big endian systems
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Thu, 28 Aug 2008 00:15:22 +0000 (00:15 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Thu, 28 Aug 2008 00:15:22 +0000 (00:15 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@12418 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/mtd/src/jffs2.c

index 3b47d4158f67994f9960bf049fd19fb09070e220..d1c6fb66fb8105ae64c360711c9b5f00164c2763 100644 (file)
@@ -7,13 +7,18 @@
 #include <string.h>
 #include <dirent.h>
 #include <unistd.h>
+#include <endian.h>
 #include "jffs2.h"
 #include "crc32.h"
 #include "mtd.h"
 
 #define PAD(x) (((x)+3)&~3)
 
-#define CLEANMARKER "\x85\x19\x03\x20\x0c\x00\x00\x00\xb1\xb0\x1e\xe4"
+#if BYTE_ORDER == BIG_ENDIAN
+# define CLEANMARKER "\x19\x85\x20\x03\x00\x00\x00\x0c\xf0\x60\xdc\x98"
+#else
+# define CLEANMARKER "\x85\x19\x03\x20\x0c\x00\x00\x00\xb1\xb0\x1e\xe4"
+#endif
 
 static int last_ino = 0;
 static int last_version = 0;