/* * This testing program makes sure the byteswap functions work * * Copyright (C) 2000 by Theodore Ts'o. * * %Begin-Header% * This file may be redistributed under the terms of the GNU Public * License. * %End-Header% */ #include <stdio.h> #include <string.h> #if HAVE_UNISTD_H #include <unistd.h> #endif #include <fcntl.h> #include <time.h> #include <sys/stat.h> #include <sys/types.h> #if HAVE_ERRNO_H #include <errno.h> #endif #include "ext2_fs.h" #include "ext2fs.h" __u16 test1[] = { 0x0001, 0x0100, 0x1234, 0x3412, 0xff00, 0x00ff, 0x4000, 0x0040, 0xfeff, 0xfffe, 0x0000, 0x0000 }; __u32 test2[] = { 0x00000001, 0x01000000, 0x80000000, 0x00000080, 0x12345678, 0x78563412, 0xffff0000, 0x0000ffff, 0x00ff0000, 0x0000ff00, 0xff000000, 0x000000ff, 0x00000000, 0x00000000 }; int main(int argc, char **argv) { int i; int errors = 0; printf("Testing ext2fs_swab16\n"); i=0; do { printf("swab16(0x%04x) = 0x%04x\n", test1[i], ext2fs_swab16(test1[i])); if (ext2fs_swab16(test1[i]) != test1[i+1]) { printf("Error!!! %04x != %04x\n", ext2fs_swab16(test1[i]), test1[i+1]); errors++; } if (ext2fs_swab16(test1[i+1]) != test1[i]) { printf("Error!!! %04x != %04x\n", ext2fs_swab16(test1[i+1]), test1[i]); errors++; } i += 2; } while (test1[i] != 0); printf("Testing ext2fs_swab32\n"); i = 0; do { printf("swab32(0x%08x) = 0x%08x\n", test2[i], ext2fs_swab32(test2[i])); if (ext2fs_swab32(test2[i]) != test2[i+1]) { printf("Error!!! %04x != %04x\n", ext2fs_swab32(test2[i]), test2[i+1]); errors++; } if (ext2fs_swab32(test2[i+1]) != test2[i]) { printf("Error!!! %04x != %04x\n", ext2fs_swab32(test2[i+1]), test2[i]); errors++; } i += 2; } while (test2[i] != 0); if (!errors) printf("No errors found in the byteswap implementation!\n"); return errors; }