diff -r a7e0a1dbfbb6 -r c87ec9dcce44 Lib/test/test_xdrlib.py --- a/Lib/test/test_xdrlib.py Sun Mar 27 10:15:57 2011 +0200 +++ b/Lib/test/test_xdrlib.py Sun Mar 27 11:58:03 2011 +0200 @@ -12,6 +12,7 @@ a = [b'what', b'is', b'hapnin', b'doctor'] p.pack_int(42) + p.pack_int(-17) p.pack_uint(9) p.pack_bool(True) p.pack_bool(False) @@ -29,6 +30,7 @@ self.assertEqual(up.get_position(), 0) self.assertEqual(up.unpack_int(), 42) + self.assertEqual(up.unpack_int(), -17) self.assertEqual(up.unpack_uint(), 9) self.assertTrue(up.unpack_bool() is True) diff -r a7e0a1dbfbb6 -r c87ec9dcce44 Lib/xdrlib.py --- a/Lib/xdrlib.py Sun Mar 27 10:15:57 2011 +0200 +++ b/Lib/xdrlib.py Sun Mar 27 11:58:03 2011 +0200 @@ -49,8 +49,10 @@ def pack_uint(self, x): self.__buf.write(struct.pack('>L', x)) + + def pack_int(self, x): + self.__buf.write(struct.pack('>l', x)) - pack_int = pack_uint pack_enum = pack_int def pack_bool(self, x):