diff options
Diffstat (limited to 'rdiff-backup/rdiff_backup/eas_acls.py')
-rw-r--r-- | rdiff-backup/rdiff_backup/eas_acls.py | 14 |
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): |