avoid throwing exception when String is not encoded using the filesystem encoding

Since _encodeFilePath generates a String that doesn't use the filesystem
encoding, when this exception is caught, we know we already have such a
String, and can just return it as-is.
This commit is contained in:
Joey Hess 2015-08-12 10:57:48 -04:00
parent 4e4e11849a
commit e953be11af
2 changed files with 7 additions and 4 deletions

View file

@ -31,7 +31,8 @@ fromB64 = fromMaybe bad . fromB64Maybe
bad = error "bad base64 encoded data"
-- Only ascii strings are tested, because an arbitrary string may contain
-- characters not encoded using the FileSystemEncoding.
-- characters not encoded using the FileSystemEncoding, which would thus
-- not roundtrip, as fromB64 always generates an output encoded that way.
prop_b64_roundtrips :: String -> Bool
prop_b64_roundtrips s
| all (isAscii) s = s == fromB64 (toB64 s)