Fix: $ is ignored in the begginning of quoted line

This commit is contained in:
z3APA3A 2018-12-05 14:21:03 +03:00
parent 3b67dc8447
commit 9f6c0b5b8d

View File

@ -1425,7 +1425,6 @@ int parsestr (unsigned char *str, unsigned char **argm, int nitems, unsigned cha
unsigned char * incbegin = 0; unsigned char * incbegin = 0;
int fd; int fd;
int res, len; int res, len;
int i = 1;
unsigned char *str1; unsigned char *str1;
for(;;str++){ for(;;str++){
@ -1444,7 +1443,14 @@ int parsestr (unsigned char *str, unsigned char **argm, int nitems, unsigned cha
argm[argc] = 0; argm[argc] = 0;
return argc; return argc;
case '$': case '$':
if(!comment && !included){ if(comment){
if(space){
argm[argc++] = str;
if(argc >= nitems) return argc;
space = 0;
}
}
else if(!included){
incbegin = str; incbegin = str;
*str = 0; *str = 0;
} }
@ -1456,7 +1462,6 @@ int parsestr (unsigned char *str, unsigned char **argm, int nitems, unsigned cha
if(!comment){ if(!comment){
*str = 0; *str = 0;
space = 1; space = 1;
i = 0;
if(incbegin){ if(incbegin){
argc--; argc--;
if((fd = open((char *)incbegin+1, O_RDONLY)) <= 0){ if((fd = open((char *)incbegin+1, O_RDONLY)) <= 0){
@ -1494,7 +1499,6 @@ int parsestr (unsigned char *str, unsigned char **argm, int nitems, unsigned cha
break; break;
} }
default: default:
i++;
if(space) { if(space) {
if(comment && *str == '\"' && str[1] != '\"'){ if(comment && *str == '\"' && str[1] != '\"'){
str++; str++;