summaryrefslogtreecommitdiff
path: root/rdiff-backup/rdiff_backup
diff options
context:
space:
mode:
Diffstat (limited to 'rdiff-backup/rdiff_backup')
-rw-r--r--rdiff-backup/rdiff_backup/FilenameMapping.py12
-rw-r--r--rdiff-backup/rdiff_backup/fs_abilities.py8
2 files changed, 10 insertions, 10 deletions
diff --git a/rdiff-backup/rdiff_backup/FilenameMapping.py b/rdiff-backup/rdiff_backup/FilenameMapping.py
index 439836e..8bb3951 100644
--- a/rdiff-backup/rdiff_backup/FilenameMapping.py
+++ b/rdiff-backup/rdiff_backup/FilenameMapping.py
@@ -89,17 +89,15 @@ def quote(path):
and not Globals.must_escape_trailing_spaces:
return QuotedPath
- if Globals.must_escape_dos_devices:
- assert Globals.must_escape_trailing_spaces
-
# Escape a trailing space or period (invalid in names on FAT32 under DOS,
# Windows and modern Linux)
- if len(QuotedPath) and (QuotedPath[-1] == ' ' or QuotedPath[-1] == '.'):
- QuotedPath = QuotedPath[:-1] + \
+ if Globals.must_escape_trailing_spaces:
+ if len(QuotedPath) and (QuotedPath[-1] == ' ' or QuotedPath[-1] == '.'):
+ QuotedPath = QuotedPath[:-1] + \
"%s%03d" % (quoting_char, ord(QuotedPath[-1]))
- if not Globals.must_escape_dos_devices:
- return QuotedPath
+ if not Globals.must_escape_dos_devices:
+ return QuotedPath
# Escape first char of any special DOS device files even if filename has an
# extension. Special names are: aux, prn, con, nul, com0-9, and lpt1-9.
diff --git a/rdiff-backup/rdiff_backup/fs_abilities.py b/rdiff-backup/rdiff_backup/fs_abilities.py
index 4d6ec4d..3be42d1 100644
--- a/rdiff-backup/rdiff_backup/fs_abilities.py
+++ b/rdiff-backup/rdiff_backup/fs_abilities.py
@@ -586,7 +586,7 @@ class FSAbilities:
log.Log("escape_trailing_spaces required by filesystem at %s" \
% (subdir.path), 4)
self.escape_trailing_spaces = 1
- except(OSError):
+ except (OSError, IOError):
log.Log("escape_trailing_spaces required by filesystem at %s" \
% (subdir.path), 4)
self.escape_trailing_spaces = 1
@@ -707,7 +707,8 @@ class BackupSetGlobals(SetGlobals):
space_rp.delete()
else:
local_ets = 1
- except (OSError): local_ets = 1
+ except (OSError, IOError):
+ local_ets = 1
SetConnections.UpdateGlobal('must_escape_trailing_spaces', \
self.src_fsa.escape_trailing_spaces or local_ets)
log.Log("Backup: must_escape_trailing_spaces = %d" % \
@@ -839,7 +840,8 @@ class RestoreSetGlobals(SetGlobals):
space_rp.delete()
else:
local_ets = 1
- except (OSError): local_ets = 1
+ except (OSError, IOError):
+ local_ets = 1
SetConnections.UpdateGlobal('must_escape_trailing_spaces', \
src_ets or local_ets)
log.Log("Restore: must_escape_trailing_spaces = %d" % \