From 7ee51d5d290618c556d294702e32f0fe65d764e5 Mon Sep 17 00:00:00 2001 From: Rob Austein Date: Sat, 7 May 2011 13:16:12 +0000 Subject: xrange() doesn't really work with Python longs svn path=/scripts/expand-roa-prefixes.py; revision=3804 --- scripts/expand-roa-prefixes.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'scripts/expand-roa-prefixes.py') diff --git a/scripts/expand-roa-prefixes.py b/scripts/expand-roa-prefixes.py index b785665d..e5c54f27 100644 --- a/scripts/expand-roa-prefixes.py +++ b/scripts/expand-roa-prefixes.py @@ -45,13 +45,14 @@ for prefix_set in prefix_sets: step = (1L << (prefix_type.bits - prefixlen)) mask = step - 1 - for addr in xrange(prefix_min, prefix_max, step): - - addr = prefix_type(addr) + # xrange(prefix_min, prefix_max, step) throws OverflowError, + # so do this the non-Pythonic way + addr = prefix_min + while addr < prefix_max: if (addr & mask) != 0: raise RuntimeError, "%s is not a /%d prefix" % (addr, prefixlen) - sys.stdout.write(" %s/%d\n" % (addr, prefixlen)) + addr = prefix_type(addr + step) sys.stdout.write("\n") -- cgit v1.2.3