Skip to content

Commit 6c2748a

Browse files
BlashaqJohnstonCode
authored andcommitted
fix: Temp files are encoded using default encoding setting (#765)
1 parent 5bbd444 commit 6c2748a

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

src/tempFiles.ts

+9-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ import * as path from "path";
33
import { Uri } from "vscode";
44
import { exists, mkdir, writeFile } from "./fs";
55
import * as crypto from "crypto";
6+
import { iconv } from "./vscodeModules";
7+
import { configuration } from "./helpers/configuration";
68

79
export const tempdir = path.join(os.tmpdir(), "vscode-svn");
810

@@ -19,12 +21,18 @@ export async function createTempSvnRevisionFile(
1921
const hash = crypto.createHash("md5");
2022
const data = hash.update(svnUri.path);
2123
const filePathHash = data.digest("hex");
24+
const encoding = configuration.get<string>("default.encoding");
2225

2326
if (!(await exists(path.join(tempdir, filePathHash)))) {
2427
await mkdir(path.join(tempdir, filePathHash));
2528
}
2629

2730
const fpath = path.join(tempdir, filePathHash, fname);
28-
await writeFile(fpath, payload);
31+
if (encoding) {
32+
const encodedPayload = iconv.encode(payload, encoding);
33+
await writeFile(fpath, encodedPayload);
34+
} else {
35+
await writeFile(fpath, payload);
36+
}
2937
return Uri.file(fpath);
3038
}

0 commit comments

Comments
 (0)