summaryrefslogtreecommitdiff
path: root/rdiff-backup/rdiff_backup/eas_acls.py
diff options
context:
space:
mode:
Diffstat (limited to 'rdiff-backup/rdiff_backup/eas_acls.py')
-rw-r--r--rdiff-backup/rdiff_backup/eas_acls.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/rdiff-backup/rdiff_backup/eas_acls.py b/rdiff-backup/rdiff_backup/eas_acls.py
index c0b550b..af57ef1 100644
--- a/rdiff-backup/rdiff_backup/eas_acls.py
+++ b/rdiff-backup/rdiff_backup/eas_acls.py
@@ -180,8 +180,11 @@ def Record2EA(record):
raise metadata.ParsingError("Bad record beginning: " + first[:8])
filename = first[8:]
if filename == '.': index = ()
- else: index = tuple(unicode(C.acl_unquote(encode(filename)),
- 'utf-8').split('/'))
+ else:
+ unquoted_filename = C.acl_unquote(encode(filename))
+ if Globals.use_unicode_paths:
+ unquoted_filename = unicode(unquoted_filename, 'utf-8')
+ index = tuple(unquoted_filename.split('/'))
ea = ExtendedAttributes(index)
for line in lines:
@@ -556,8 +559,11 @@ def Record2ACL(record):
raise metadata.ParsingError("Bad record beginning: "+ first_line)
filename = first_line[8:]
if filename == '.': index = ()
- else: index = tuple(unicode(C.acl_unquote(encode(filename)),
- 'utf-8').split('/'))
+ else:
+ unquoted_filename = C.acl_unquote(encode(filename))
+ if Globals.use_unicode_paths:
+ unquoted_filename = unicode(unquoted_filename, 'utf-8')
+ index = tuple(unquoted_filename.split('/'))
return AccessControlLists(index, record[newline_pos:])
class ACLExtractor(EAExtractor):