Fix airlink image generation tool
authorflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Mon, 9 Apr 2007 08:30:06 +0000 (08:30 +0000)
committerflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Mon, 9 Apr 2007 08:30:06 +0000 (08:30 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@6913 3c298f89-4303-0410-b956-a3cf2f4a3e73

tools/firmware-utils/src/airlink.c

index c24a9e320b767ea7290de5072db311aa9368519c..657c971761f6960b4a54303c4b5197994ee609f6 100644 (file)
@@ -319,14 +319,10 @@ int main(int argc, char **argv)
                unsigned long sum2 = buf[-0x8] | ((u32)buf[-0x7] << 8) | ((u32)buf[-0x6] << 16) | ((u32)buf[-0x5] << 24);
                *((u32 *) & buf[-0x8]) = 0L;
                sum = crc32(buf - 0x4, len - 0x4);
-               sum = htonl(sum);
                printf("CRC32 sum2 - (%x, %x, %x)\n", sum, sum2,
                       len - 0x4);
                lseek(fd, 0, SEEK_SET);
-               buf[-0x8] = sum & 0xff;
-               buf[-0x7] = (sum >> 8) & 0xff;
-               buf[-0x6] = (sum >> 16) & 0xff;
-               buf[-0x5] = (sum >> 24) & 0xff;
+               *((u32 *) & buf[-0x8]) = htonl(sum);
                write(fd, &buf[-0x8], 0x4);
                buf -= 8;
        }