mirror of
https://github.com/iKarith/cppo-ng.git
synced 2025-02-19 07:31:36 +00:00
Change how case folding is done
The old way involved a lot more sequence duplication. Now just turn the bytes object into a mutable bytearray, iterate through the mask and change what we need, then change it back.
This commit is contained in:
parent
3ebf568a6f
commit
79719bb5e0
14
cppo
14
cppo
@ -144,11 +144,11 @@ def getFileName(arg1, arg2):
|
|||||||
fileName = readchars(g.image_data, start+1, nameLength)
|
fileName = readchars(g.image_data, start+1, nameLength)
|
||||||
caseMask = getCaseMask(arg1, arg2)
|
caseMask = getCaseMask(arg1, arg2)
|
||||||
if caseMask and not g.casefold_upper:
|
if caseMask and not g.casefold_upper:
|
||||||
|
fileName = bytearray(fileName)
|
||||||
for i in range(0, len(fileName)):
|
for i in range(0, len(fileName)):
|
||||||
if caseMask[i] == "1":
|
if caseMask[i] == "1":
|
||||||
fileName = (fileName[:i] +
|
fileName[i] = fileName[i].lower()
|
||||||
fileName[i:i+1].lower() +
|
fileName = bytes(fileName)
|
||||||
fileName[i+1:])
|
|
||||||
return fileName
|
return fileName
|
||||||
|
|
||||||
def getCaseMask(arg1, arg2):
|
def getCaseMask(arg1, arg2):
|
||||||
@ -329,12 +329,12 @@ def getWorkingDirName(arg1, arg2=None):
|
|||||||
caseMask = to_bin(caseMaskDec - 32768).zfill(15)
|
caseMask = to_bin(caseMaskDec - 32768).zfill(15)
|
||||||
else: # subdirectory, get casemask from arg2 (not available in header)
|
else: # subdirectory, get casemask from arg2 (not available in header)
|
||||||
caseMask = arg2
|
caseMask = arg2
|
||||||
if not g.casefold_upper and caseMask != None:
|
if caseMask and not g.casefold_upper:
|
||||||
|
workingDirName = bytearray(workingDirName)
|
||||||
for i in range(0, len(workingDirName)):
|
for i in range(0, len(workingDirName)):
|
||||||
if caseMask[i] == "1":
|
if caseMask[i] == "1":
|
||||||
workingDirName = (workingDirName[:i] +
|
workingDirName[i] = workingDirName[i].lower()
|
||||||
workingDirName[i:i+1].lower() +
|
workingDirName = bytes(workingDirName)
|
||||||
workingDirName[i+1:])
|
|
||||||
return workingDirName
|
return workingDirName
|
||||||
|
|
||||||
def getDirEntryCount(arg1):
|
def getDirEntryCount(arg1):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user