mtd: tests: Fix endian issue with CRC generation algorithm
The calculation of the CRC in /tests/checkfs/makefiles.c was writing the CRC
Into the produced files in host byte-order which would cause CRC validation
to fail on big-endian systems as the validation is performed bytewise.
Signed-off-by: Paul McGougan <pmcgougan AT topcon.com>
[Brian: add endian.h]
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
diff --git a/tests/checkfs/makefiles.c b/tests/checkfs/makefiles.c
index 589280b..52fea54 100644
--- a/tests/checkfs/makefiles.c
+++ b/tests/checkfs/makefiles.c
@@ -26,6 +26,7 @@
*/
#include <sys/types.h>
#include <sys/stat.h>
+#include <endian.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
@@ -170,6 +171,7 @@
printf("Error! Cannot open filename to update checksum: %s\n",filename);
exit(1);
}
+ crc = htole16(crc);
if(fwrite(&crc, sizeof(crc), 1, fp) != 1){
printf("error! unable to update the file for checksum.\n");
fclose(fp);