mirror of
https://github.com/mifi/lossless-cut.git
synced 2024-11-22 02:12:30 +01:00
try to escape last ffmpeg command on windows
also escape quote on linux closes #2151
This commit is contained in:
parent
93f47b9c35
commit
b6645fa445
@ -24,8 +24,16 @@ export function setCustomFfPath(path: string | undefined) {
|
|||||||
customFfPath = path;
|
customFfPath = path;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function escapeCliArg(arg: string) {
|
||||||
|
if (isWindows) {
|
||||||
|
// https://github.com/mifi/lossless-cut/issues/2151
|
||||||
|
return /[\s"&<>^|]/.test(arg) ? `"${arg.replaceAll('"', '""')}"` : arg;
|
||||||
|
}
|
||||||
|
return /[^\w-]/.test(arg) ? `'${arg.replaceAll("'", '\'"\'"\'')}'` : arg;
|
||||||
|
}
|
||||||
|
|
||||||
export function getFfCommandLine(cmd: string, args: readonly string[]) {
|
export function getFfCommandLine(cmd: string, args: readonly string[]) {
|
||||||
return `${cmd} ${args.map((arg) => (/[^\w-]/.test(arg) ? `'${arg}'` : arg)).join(' ')}`;
|
return `${cmd} ${args.map((arg) => escapeCliArg(arg)).join(' ')}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getFfPath(cmd: string) {
|
function getFfPath(cmd: string) {
|
||||||
|
Loading…
Reference in New Issue
Block a user