> oct 0 Traceback (most recent call last): File "hc.py", line 2319, in <module> main() File "hc.py", line 2309, in main status = ProcessCommand(cmd, commands_dict, i==n) File "hc.py", line 2082, in ProcessCommand DisplayStack(display, stack) File "hc.py", line 1132, in DisplayStack display.msg(stack._string(Format, size)) File "/dev/shm/hcpy_version6.ori/stack.py", line 171, in _string m.append(fmt % (size - i, func(s[i]))) File "hc.py", line 1178, in Format s = oct(x) File "/dev/shm/hcpy_version6.ori/integer.py", line 267, in oct if s[0] == "o": s = s[1:] # Remove leading 'o' if present IndexError: string index out of range
patch:
diff -rNU4 hcpy_version6.ori/integer.py hcpy_version6/integer.py --- hcpy_version6.ori/integer.py 2009-03-18 02:54:53.000000000 +0800 +++ hcpy_version6/integer.py 2011-11-01 09:09:21.745077051 +0800 @@ -245,9 +245,9 @@ sign = "" if self.n < 0: sign = "-" num_hex_digits, r = divmod(Zn.num_bits, 4) if r != 0: num_hex_digits += 1 - s = hex(abs(self.n))[2:] # Remove 0x + s = '%x'%(abs(self.n)) if s[-1] == "L": s = s[:-1] # Remove "L" if Zn.num_bits != 0: while len(s) < num_hex_digits: s = "0" + s @@ -262,9 +262,9 @@ sign = "" if self.n < 0: sign = "-" num_oct_digits, r = divmod(Zn.num_bits, 3) if r != 0: num_oct_digits += 1 - s = oct(abs(self.n))[1:] # Remove leading zero + s = '%o'%(abs(self.n)) if s[0] == "o": s = s[1:] # Remove leading 'o' if present if Zn.num_bits != 0: while len(s) < num_oct_digits: s = "0" + s
Status: New
Labels:
Type-Defect
Priority-Medium