From: Barry Warsaw Date: Thu, 29 May 2003 20:09:31 +0000 (+0000) Subject: Backport from 2.3 trunk: X-Git-Tag: v2.2.3~7 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=641e266012ec723fcfcb56dc50f2578073ce9157;p=thirdparty%2FPython%2Fcpython.git Backport from 2.3 trunk: _make_boundary(): Fix for SF bug #745478, broken boundary calculation in some locales. This code simplifies the boundary algorithm to use randint() which is what we wanted anyway. Bump package version to 2.5.3. --- diff --git a/Lib/email/Generator.py b/Lib/email/Generator.py index 9cce51c40b55..6f17963d0f18 100644 --- a/Lib/email/Generator.py +++ b/Lib/email/Generator.py @@ -5,6 +5,7 @@ """ import re +import sys import time import locale import random @@ -356,11 +357,14 @@ class DecodedGenerator(Generator): # Helper +_width = len(repr(sys.maxint-1)) +_fmt = '%%0%dd' % _width + def _make_boundary(text=None): # Craft a random boundary. If text is given, ensure that the chosen # boundary doesn't appear in the text. - dp = locale.localeconv().get('decimal_point', '.') - boundary = ('=' * 15) + repr(random.random()).split(dp)[1] + '==' + token = random.randint(0, sys.maxint-1) + boundary = ('=' * 15) + (_fmt % token) + '==' if text is None: return boundary b = boundary diff --git a/Lib/email/__init__.py b/Lib/email/__init__.py index d9462bcab568..b5d8d72eee7d 100644 --- a/Lib/email/__init__.py +++ b/Lib/email/__init__.py @@ -4,7 +4,7 @@ """A package for parsing, handling, and generating email messages. """ -__version__ = '2.5.2' +__version__ = '2.5.3' __all__ = [ 'base64MIME',