]> The Tcpdump Group git mirrors - tcpdump/commitdiff
Remove init_crc10_table() and the entourage.
authorDenis Ovsienko <[email protected]>
Sat, 14 Jan 2023 22:25:18 +0000 (22:25 +0000)
committerDenis Ovsienko <[email protected]>
Sat, 14 Jan 2023 22:55:27 +0000 (22:55 +0000)
As Guy Harris points out in bug report GH #1022, the function has been a
busy no-op since commit e6c39e6 in 2010.  While at it, fixup the Python
code to work on Python 3:

    for i in range(len(crc_table)/8):
TypeError: 'float' object cannot be interpreted as an integer

checksum.c
netdissect.h
print.c

index e6e84a2510db286d802cd5d061062455320eb30d..c5025082975322671ddb80f758fda344fa0054b1 100644 (file)
@@ -44,7 +44,7 @@ for i in range(256):
                        accum ^= 0x633
        crc_table.append(accum)
 
-for i in range(len(crc_table)/8):
+for i in range(int(len(crc_table)/8)):
        for j in range(8):
                sys.stdout.write("0x%04x, " % crc_table[i*8+j])
        sys.stdout.write("\n")
@@ -86,29 +86,6 @@ static const uint16_t crc10_table[256] =
        0x021e, 0x002d, 0x004b, 0x0278, 0x0087, 0x02b4, 0x02d2, 0x00e1
 };
 
-static void
-init_crc10_table(void)
-{
-#define CRC10_POLYNOMIAL 0x633
-    int i, j;
-    uint16_t accum;
-    uint16_t verify_crc10_table[256];
-
-    for ( i = 0;  i < 256;  i++ )
-    {
-        accum = ((unsigned short) i << 2);
-        for ( j = 0;  j < 8;  j++ )
-        {
-            if ((accum <<= 1) & 0x400) accum ^= CRC10_POLYNOMIAL;
-        }
-        verify_crc10_table[i] = accum;
-    }
-    assert(memcmp(verify_crc10_table,
-                                 crc10_table,
-                                 sizeof(verify_crc10_table)) == 0);
-#undef CRC10_POLYNOMIAL
-}
-
 uint16_t
 verify_crc10_cksum(uint16_t accum, const u_char *p, int length)
 {
@@ -123,14 +100,6 @@ verify_crc10_cksum(uint16_t accum, const u_char *p, int length)
     return accum;
 }
 
-/* precompute checksum tables */
-void
-init_checksum(void) {
-
-    init_crc10_table();
-
-}
-
 /*
  * Creates the OSI Fletcher checksum. See 8473-1, Appendix C, section C.3.
  * The checksum field of the passed PDU does not need to be reset to zero.
index 24fda9e8aaaf54aa9709773ab3f0481ecf62b627..5762c5848d37f2135976025e7431229705ad72d2 100644 (file)
@@ -764,7 +764,6 @@ extern void zmtp1_datagram_print(netdissect_options *, const u_char *, const u_i
 extern void zmtp1_print(netdissect_options *, const u_char *, u_int);
 
 /* checksum routines */
-extern void init_checksum(void);
 extern uint16_t verify_crc10_cksum(uint16_t, const u_char *, int);
 extern uint16_t create_osi_cksum(const uint8_t *, int, int);
 
diff --git a/print.c b/print.c
index fbb1b3b1085116f10436a405f238e519b886d422..123c842c2d8de2fa63485770eb300b53e407444f 100644 (file)
--- a/print.c
+++ b/print.c
@@ -249,9 +249,7 @@ static const struct printer printers[] = {
 void
 init_print(netdissect_options *ndo, uint32_t localnet, uint32_t mask)
 {
-
        init_addrtoname(ndo, localnet, mask);
-       init_checksum();
 }
 
 if_printer