also support command substitution inside quotes in strToArgs

This commit is contained in:
Lisa Milne 2023-11-11 18:22:36 +10:00
parent f70937e91f
commit 48aad6beba

View file

@ -1362,6 +1362,7 @@ clite.lib = {
var s = '';
var e = false;
var q = false;
var c = false;
for (var i=0; i<txt.length; i++) {
switch (txt[i]) {
case '//':
@ -1372,17 +1373,26 @@ clite.lib = {
}
break;
case '`':
if (!e) {
if (!c) {
c = true;
s += '`';
}else{
s += '`';
c = false;
}
}else{
s += txt[i];
e = false;
}
break;
case '"':
case "'":
if (!e) {
if (!q) {
sp = txt[i];
q = true;
if (sp == '`')
s += '`';
}else if (txt[i] == sp) {
if (sp == '`')
s += '`';
sp = '';
q = false;
}
@ -1392,7 +1402,7 @@ clite.lib = {
}
break;
case ' ':
if (!q) {
if (!q && !c) {
parts.push(s);
s = '';
e = false;