In I1f5dc07182dbf6bba2a9f4807fdd25b475da4ead, FileBasedConfig got support for reading a configuration with UTF8 BOM. Apply the same support to BlobBasedConfig, to make SubmoduleWalk able to parse .gitmodules configurations with BOM. Change-Id: I25b5474779952fe2c076180b96fc2869eef190a8 Signed-off-by: Doug Kelly <dougk.ff7@gmail.com>tags/v4.2.0.201601211800-r
@@ -79,7 +79,15 @@ public class BlobBasedConfig extends Config { | |||
public BlobBasedConfig(Config base, final byte[] blob) | |||
throws ConfigInvalidException { | |||
super(base); | |||
fromText(RawParseUtils.decode(blob)); | |||
final String decoded; | |||
if (blob.length >= 3 && blob[0] == (byte) 0xEF | |||
&& blob[1] == (byte) 0xBB && blob[2] == (byte) 0xBF) { | |||
decoded = RawParseUtils.decode(RawParseUtils.UTF8_CHARSET, | |||
blob, 3, blob.length); | |||
} else { | |||
decoded = RawParseUtils.decode(blob); | |||
} | |||
fromText(decoded); | |||
} | |||
/** |