vppapigen: crc is a negative value for some messages when using python 2.7 49/28349/1
authorMark Nelson <manelso2@cisco.com>
Wed, 4 Mar 2020 20:32:09 +0000 (15:32 -0500)
committerAndrew Yourtchenko <ayourtch@gmail.com>
Thu, 13 Aug 2020 08:12:25 +0000 (08:12 +0000)
Type: fix

Signed-off-by: Mark Nelson <manelso2@cisco.com>
Change-Id: I4f121e49d3c05c21eed3fed2469bd88fc84e2271
(cherry picked from commit ea2abbaeaf34a4652e970fd1e2f60c0d377ebde4)

src/tools/vppapigen/vppapigen.py

index e6a0bdc..1744a32 100755 (executable)
@@ -693,7 +693,7 @@ class VPPAPI(object):
         for o in objs:
             tname = o.__class__.__name__
             try:
-                crc = binascii.crc32(o.crc, crc)
+                crc = binascii.crc32(o.crc, crc) & 0xffffffff
             except AttributeError:
                 pass
             if isinstance(o, Define):
@@ -838,7 +838,7 @@ def foldup_blocks(block, crc):
 def foldup_crcs(s):
     for f in s:
         f.crc = foldup_blocks(f.block,
-                              binascii.crc32(f.crc))
+                              binascii.crc32(f.crc) & 0xffffffff)
 
 
 #