Fix setting/setting/viewing metadata that contains unicode or other special characters, when in a non-unicode locale.

Oh boy, not again. So, another place that the filesystem encoding needs to
be applied. Yay.

In passing, I changed decodeBS so if a NUL is embedded in the input, the
resulting FilePath doesn't get truncated at that NUL. This was needed to
make prop_b64_roundtrips pass, and on reviewing the callers of decodeBS, I
didn't see any where this wouldn't make sense. When a FilePath is used to
operate on the filesystem, it'll get truncated at a NUL anyway, whereas if
a String is being used for something else, it might conceivably have a NUL
in it, and we wouldn't want it to get truncated when going through
decodeBS.
(NB: There may be a speed impact from this change.)
This commit is contained in:
Joey Hess 2015-08-11 18:40:59 -04:00
parent 1e40bfda49
commit 23e9d3bb77
5 changed files with 45 additions and 4 deletions

2
debian/changelog vendored
View file

@ -36,6 +36,8 @@ git-annex (5.20150732) UNRELEASED; urgency=medium
Thanks, Magnus Therning.
* metadata: Fix reversion introduced in 5.20150727 that caused display
of metadata to not work.
* Fix setting/setting/viewing metadata that contains unicode or other
special characters, when in a non-unicode locale.
-- Joey Hess <id@joeyh.name> Fri, 31 Jul 2015 12:31:39 -0400