diff --git a/packages/hydrojudge/package.json b/packages/hydrojudge/package.json index 87e585497..67fc3753d 100644 --- a/packages/hydrojudge/package.json +++ b/packages/hydrojudge/package.json @@ -1,7 +1,7 @@ { "name": "@hydrooj/hydrojudge", "bin": "bin/hydrojudge.js", - "version": "2.4.11", + "version": "2.4.12", "os": [ "linux" ], diff --git a/packages/hydrojudge/src/hosts/vj4.ts b/packages/hydrojudge/src/hosts/vj4.ts index c9950697c..60cef1ee0 100644 --- a/packages/hydrojudge/src/hosts/vj4.ts +++ b/packages/hydrojudge/src/hosts/vj4.ts @@ -385,7 +385,16 @@ export default class VJ4 { else if (i.toLowerCase() === 'output') await fs.rename(`${folder}/${i}`, `${folder}/output`); } files = await fs.readdir(`${folder}/input`); - for (const i of files) await fs.rename(`${folder}/input/${i}`, `${folder}/input/${i.toLowerCase()}`); + for (const i of files) { + if (fs.statSync(`${folder}/input/${i}`).size > 64 * 1024 * 1024) { + await fs.rename(`${folder}/input/${i}`, `${folder}/input/${i.toLowerCase()}`); + } else { + const buffer = await fs.readFile(`${folder}/input/${i}`); + const data = buffer.toString().replace(/\r/g, ''); + await fs.unlink(`${folder}/input/${i}`); + await fs.writeFile(`${folder}/input/${i.toLowerCase()}`, data); + } + } files = await fs.readdir(`${folder}/output`); for (const i of files) await fs.rename(`${folder}/output/${i}`, `${folder}/output/${i.toLowerCase()}`); }