From 41bd1bdc7a019abce6414341dec3d136ef60c90c Mon Sep 17 00:00:00 2001 From: Menci Date: Wed, 7 Nov 2018 13:19:54 +0800 Subject: [PATCH] Execute `dos2unix` on testdata after upload to fix CRLF problem --- models/problem.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/models/problem.js b/models/problem.js index 833b32b..8b6e5e4 100644 --- a/models/problem.js +++ b/models/problem.js @@ -369,6 +369,10 @@ class Problem extends Model { if (!noLimit && oldCount + !replace > syzoj.config.limit.testdata_filecount) throw new ErrorMessage('数据包中的文件太多。'); await fs.move(filepath, path.join(dir, filename), { overwrite: true }); + + let execFileAsync = Promise.promisify(require('child_process').execFile); + try { await execFileAsync('dos2unix', [path.join(dir, filename)]); } catch (e) {} + await fs.remove(this.getTestdataArchivePath()); }); }