Closes #11696: Fix ID generation in msilib.

Patch by Mark Mc Mahon.
This commit is contained in:
Martin v. Löwis 2011-03-27 20:58:52 +02:00
parent d687be09b4
commit 03f7e235c8
3 changed files with 5 additions and 3 deletions

View File

@ -173,9 +173,8 @@ def add_tables(db, module):
add_data(db, table, getattr(module, table))
def make_id(str):
#str = str.replace(".", "_") # colons are allowed
for c in " -+~;":
str = str.replace(c, "_")
identifier_chars = string.ascii_letters + string.digits + "._"
str = "".join([c if c in identifier_chars else "_" for c in str])
if str[0] in (string.digits + "."):
str = "_" + str
assert re.match("^[A-Za-z_][A-Za-z0-9_.]*$", str), "FILE"+str

View File

@ -529,6 +529,7 @@ Chris McDonough
Greg McFarlane
Alan McIntyre
Michael McLay
Mark Mc Mahon
Gordon McMillan
Caolan McNamara
Andrew McNamara

View File

@ -47,6 +47,8 @@ Core and Builtins
Library
-------
- Issue #11696: Fix ID generation in msilib.
- Issue #9696: Fix exception incorrectly raised by xdrlib.Packer.pack_int when
trying to pack a negative (in-range) integer.